여러 개의 Linux 설치에서 외부 EXT4 하드 디스크를 사용할 때 권한 문제 해결


18

나는 외장 하드 드라이브를 가지고 있으며 우분투와 페도라 만 사용하기 때문에 내 하드 드라이브를 ext4로 포맷하기로 결정했습니다.

문제는 드라이브를 마운트 할 때 읽고 쓸 수 있도록 권한을 변경해야한다는 것입니다.

어떤 종류의 권한을 사용해야합니까? adm 내 사용자 이름?

답변:


5

절름발이이지만 다른 질문으로 질문에 대답해야합니다. 우리가 이야기하는 모든 것이 하나의 OS에 대한 것이라면,

sudo chown -R (user name) /dev/(device name)

( 우분투 )

아니면 그냥

chown -R (user name) /dev/(device name)

fedora -nosudo, 루트에서 명령을 실행하십시오.

국수 긁는 도구 부분과 내가 답을 얻지 못한 부분은 배포판 사이를왔다 갔다 할 때 수동으로 다시 입력 할 필요가 없도록 만드는 방법입니다. 나는 내에 줄을 추가하고 싶었지만 ~/.bashrc, 아직 모르거나 아직 생각하지 못한 더 좋은 방법이있을 것입니다.


즉, 나는 내가 권한 배포판의 때마다 나는 변화를 변경할 필요가 그래도 무엇
하비에르 곤잘레스

1
내 자신의 지적 호기심을 확인하고 만족시키기 위해 돌아가서 가지고있는 USB EXT4 드라이브로 다시 확인했습니다. 장치의 소유권을 얻는 것이 파일 시스템의 소유권을 얻는 것과 같은지 알지 못했습니다. sudo chown -R (사용자 이름) / dev / (장치 이름)은 파일을 만들지 않았더라도 드라이브에있는 모든 파일의 소유권을 가져옵니다.
user2367

예, ~ / .bashrc에 줄을 추가하는 것만으로는 터미널을 실행할 때마다 자동으로 실행되므로 이에 대한 대답이 없습니다. 아마 cron에 추가 할 수 있습니까? 그러나 배포판이 부팅 될 때 실행되도록 준비하는 방법이 있어야합니다.
user2367

난 정말 사랑 ext4가 아니라 쓰레기 킵은 권한 하하 변화
하비에르 곤잘레스

10

가장 간단한 해결책은 Ubuntu & Fedora 사용자 계정이 동일한 사용자 ID (UID)를 갖도록하는 것입니다.

Fedora는 기본적으로 500에서 사용자 계정을 시작한다고 생각하지만 Debian & Ubuntu는 1000에서 시작합니다. 따라서 하나의 OS에서는 사용자 번호가 500이고 다른 OS에서는 사용자 번호가 1000 일 가능성이 높습니다. 파일 시스템은이 UID 번호를 사용합니다. 동일한 UID를 가지고 있는지 확인하면 동일한 사용자로 간주되며 권한 문제가 발생하지 않습니다.

UID = 1000으로 만드는 것이 최선이므로 Fedora 시스템에서 UID를 변경 한 다음 외부 디스크 와 Fedora 설치의 사용자 $ HOME에있는 모든 파일 이 UID 1000이 소유하고 있는지 확인하십시오 . 더 이상 권한 문제가 없어야합니다.


그래, 난 당신의 시간 주셔서 감사합니다 :)
Javier Gonzalez

1
추가 내용을 읽으십시오. 그렇지 않으면 Fedora 사용자가 로그인 할 수 없습니다!
JanC

모든 것이 확실합니다. 지금 테스트 해보아야합니다. 또한 질문 제목을 편집 해 주셔서 감사합니다.
Javier Gonzalez 1

3

/ etc / fstab에서 사용자가 드라이브를 소유하기 위해 uid = 1000 (Ubuntu에서-Fedora에서는 500)을 넣을 수 있습니다 (첫 번째 사용자 인 경우 yada yada yada ... 그렇지 않은 경우 사용자의 경우) id모든 사용자에게 액세스 권한을 부여하려는 경우 uid from ) 및 umask = 000 (또는 uid =로 지정된 사용자에 대해서만 077-마스크이므로 chmod 한 것과 반대)

/ etc / fstab 사용에 대한 자세한 내용은 다음을 참조하십시오. http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html


1
권한을 077로 설정하면 우분투에서 페도라로 변경할 때 권한을 다시 변경할 필요가 없습니까?
Javier Gonzalez

@Dracirate : 077이 아니라 000이 필요할 수 있다고 생각합니다. 각 시스템 (우분투와 페도라)에 드라이브에 대한 fstab 항목을 넣으면 사용 가능하도록 자동으로 마운트됩니다.
maco

3

불행히도 Linux 커널은 ext2 / ext3 / ext4 FS에 POSIX 권한을 적용합니다.

공유 그룹으로 POSIX 권한을 해결할 수 있습니다. 나는 /unix/273144/predefined-group-ids-across-linux-distros/에 해당하는 질문을 하지만 결국 자체 연구를했습니다.

sys 그룹이 Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris에서 ID 3을 공유한다는 것을 알게되었습니다.

그러한 발견을 염두에두고 하나의 솔루션은 다음과 같습니다.

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

그리고 이것의 풍미 (Linux / FreeBSD / MacOSX / Solaris의 경우) :

$ sudo adduser user sys

또한보십시오:


이 방법을 사용하여 cd /mnt/data/dir; touch example.txt; ls example.txt ...을 실행하면 ...이 표시 -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt됩니다. 나중에 실행 mv example.txt ~; ll ~/example.txt... 쇼를 ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, 그와 +권한의 끝. 그래서 많은 +사람들이 많은 장소에 나타나게되어 사람들이 왜 그 파일들이 특별한 지 궁금해합니다 (특정 폴더에서 복사 / 이동 되었기 때문에). +자동으로 생산을 중단 할 수있는 방법이 있습니까?
Ganton

2

exfat 또는 ntfs를 사용하려고 할 수 있습니다. 나를 위해이 방법으로 작동합니다. 그러나 모든 파일 권한으로 작동하는 경우 지금은 아닙니다. 나는 그렇게 생각하지 않는다.


2

이것은 @gavenkoa의 공유 그룹 사용 방식의 약간의 변형이며 마운트 된 드라이브의 수정은 포함하지 않습니다.

마운트 된 드라이브에서 어떤 그룹 ID (GID)가 사용되는지 확인하십시오.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

다음과 유사한 내용이 있다고 가정하겠습니다.

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

이는 12000드라이브에있는 데이터의 현재 GID이며 그룹의 다른 사용자가 데이터를 읽고 실행할 수는 있음을 의미합니다. 새 그룹 (예 :) driveusers을 만들고 현재 사용자를 새 그룹에 추가하십시오.

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive

1

이 다른 해결책을 찾았습니다.

/unix/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//a/273705

이것으로 :

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

그리고 이것의 풍미 :

sudo adduser user sys  

사용자는의 모든 파일을 읽고 쓸 수 있습니다 /dir.

@jadelord @ gavenkoa 요즘 우분투 (또는 페도라) 사용자를위한 제안 된 솔루션에서 개선이있을 것이라고 생각하십니까? 감사

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.