답변:
절름발이이지만 다른 질문으로 질문에 대답해야합니다. 우리가 이야기하는 모든 것이 하나의 OS에 대한 것이라면,
sudo chown -R (user name) /dev/(device name)
( 우분투 )
아니면 그냥
chown -R (user name) /dev/(device name)
fedora -nosudo
, 루트에서 명령을 실행하십시오.
국수 긁는 도구 부분과 내가 답을 얻지 못한 부분은 배포판 사이를왔다 갔다 할 때 수동으로 다시 입력 할 필요가 없도록 만드는 방법입니다. 나는 내에 줄을 추가하고 싶었지만 ~/.bashrc
, 아직 모르거나 아직 생각하지 못한 더 좋은 방법이있을 것입니다.
가장 간단한 해결책은 Ubuntu & Fedora 사용자 계정이 동일한 사용자 ID (UID)를 갖도록하는 것입니다.
Fedora는 기본적으로 500에서 사용자 계정을 시작한다고 생각하지만 Debian & Ubuntu는 1000에서 시작합니다. 따라서 하나의 OS에서는 사용자 번호가 500이고 다른 OS에서는 사용자 번호가 1000 일 가능성이 높습니다. 파일 시스템은이 UID 번호를 사용합니다. 동일한 UID를 가지고 있는지 확인하면 동일한 사용자로 간주되며 권한 문제가 발생하지 않습니다.
UID = 1000으로 만드는 것이 최선이므로 Fedora 시스템에서 UID를 변경 한 다음 외부 디스크 와 Fedora 설치의 사용자 $ HOME에있는 모든 파일 이 UID 1000이 소유하고 있는지 확인하십시오 . 더 이상 권한 문제가 없어야합니다.
/ 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
불행히도 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
, 그와 +
권한의 끝. 그래서 많은 +
사람들이 많은 장소에 나타나게되어 사람들이 왜 그 파일들이 특별한 지 궁금해합니다 (특정 폴더에서 복사 / 이동 되었기 때문에). +
자동으로 생산을 중단 할 수있는 방법이 있습니까?
이것은 @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
이 다른 해결책을 찾았습니다.
이것으로 :
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 요즘 우분투 (또는 페도라) 사용자를위한 제안 된 솔루션에서 개선이있을 것이라고 생각하십니까? 감사