user1
두 개의 계정 과 가 있습니다 user2
. 내 user1
/home/user1/Documents/ 폴더 에 대한 rwx 액세스 권한을 공유하고 부여하고 싶습니다 user2
. 이를 위해 저는 이라는 새 그룹을 만들었습니다 sharedDocs
. 다음은 순서대로 실행하는 명령입니다.
groupadd sharedDocs
usermod -aG share user1
usermod -aG share user2
chgrp -R sharedDocs /home/user1/Documents
sudo chmod -R g+rwX /home/user1/Documents
여기에서 user2로 전환하여 문서에 액세스합니다. su
새로고침하세요.
su user2
user2: touch 1.txt
su
이 명령은 이전에 폴더 에 있었던 경우 작동합니다 /home/user1/Documents
. 그러나 다음 명령은 작동하지 않으며 일단 디렉터리를 벗어나면 해당 디렉터리로 돌아갈 수 없습니다.
user2: touch /home/user1/Documents/1.txt
touch: cannot touch '/home/user1/Documents/1.txt': Permission denied
user2: cd /home/user1/Documents/
bash: cd: /home/user1/Documents: Permission denied
나는 다음 두 가지 가이드를 따랐습니다.
답변1
이 폴더와 그 안에 있는 모든 하위 폴더에 들어가 /home/user1/
거나 그 안에 있는 모든 파일에 액세스하려면 실행 권한이 필요합니다.
기본적으로 Linux는 사용자의 홈 폴더를 750
, 또는 로 설정합니다 rwxr-x---
. 이는 폴더의 소유자가 아니거나 폴더가 속한 그룹에 속한 사용자가 폴더에 들어갈 수 없음을 의미합니다.
user1의 홈 디렉터리에 있는 하위 폴더나 파일에 대한 권한을 갖는 것만으로는 충분하지 않으며 해당 디렉터리에 있는 개체를 얻기 위해 해당 디렉터리로 이동하거나 이를 통과할 수 있는 권한도 필요합니다.
파일에 대한 실행 권한은 파일을 실행할 수 있는 권한을 제공하고(스크립트 또는 응용 프로그램인 경우) 디렉터리에 대한 실행 권한은 디렉터리에 들어가거나 디렉터리를 통해 그 안에 있는 파일 및 폴더에 액세스할 수 있는 권한을 제공합니다.
user2
소유자를 그룹에 넣거나 명령 을 /home/user1
사용하여 추가 권한을 설정하고 해당 사용자에게 폴더에 들어가 액세스할 수 있도록 실행 권한을 부여할 수 있습니다.setfacl
user2
/home/user1
/home/user1/Documents
이와 같은 것은 user2에게 /home/user1에 대한 실행 권한을 부여합니다.
setfacl -m user2:x /home/user1/
getfacl
그런 다음 다음 명령을 사용하여 폴더의 acl 규칙을 볼 수 있습니다.
getfacl /home/user1
디렉터리의 경우 읽기 권한은 사용자가 디렉터리의 내용을 볼 수 있음을 의미합니다. 쓰기 권한은 사용자가 디렉터리에 파일이나 폴더를 만들 수 있음을 의미합니다. 실행 권한은 사용자가 디렉터리에 들어갈 수 있다는 의미입니다.