그룹의 사용자가 다른 사용자의 공유 폴더에 액세스하도록 허용

그룹의 사용자가 다른 사용자의 공유 폴더에 액세스하도록 허용

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

나는 다음 두 가지 가이드를 따랐습니다.

Linux에서 다른 사용자에게 폴더 권한을 부여하는 방법은 무엇입니까?

허용된 그룹은 폴더에 액세스할 수 없습니다.

답변1

이 폴더와 그 안에 있는 모든 하위 폴더에 들어가 /home/user1/거나 그 안에 있는 모든 파일에 액세스하려면 실행 권한이 필요합니다.

기본적으로 Linux는 사용자의 홈 폴더를 750, 또는 로 설정합니다 rwxr-x---. 이는 폴더의 소유자가 아니거나 폴더가 속한 그룹에 속한 사용자가 폴더에 들어갈 수 없음을 의미합니다.

user1의 홈 디렉터리에 있는 하위 폴더나 파일에 대한 권한을 갖는 것만으로는 충분하지 않으며 해당 디렉터리에 있는 개체를 얻기 위해 해당 디렉터리로 이동하거나 이를 통과할 수 있는 권한도 필요합니다.

파일에 대한 실행 권한은 파일을 실행할 수 있는 권한을 제공하고(스크립트 또는 응용 프로그램인 경우) 디렉터리에 대한 실행 권한은 디렉터리에 들어가거나 디렉터리를 통해 그 안에 있는 파일 및 폴더에 액세스할 수 있는 권한을 제공합니다.

user2소유자를 그룹에 넣거나 명령 을 /home/user1사용하여 추가 권한을 설정하고 해당 사용자에게 폴더에 들어가 액세스할 수 있도록 실행 권한을 부여할 수 있습니다.setfacluser2/home/user1/home/user1/Documents

이와 같은 것은 user2에게 /home/user1에 대한 실행 권한을 부여합니다.

setfacl -m user2:x /home/user1/

getfacl그런 다음 다음 명령을 사용하여 폴더의 acl 규칙을 볼 수 있습니다.

getfacl /home/user1

디렉터리의 경우 읽기 권한은 사용자가 디렉터리의 내용을 볼 수 있음을 의미합니다. 쓰기 권한은 사용자가 디렉터리에 파일이나 폴더를 만들 수 있음을 의미합니다. 실행 권한은 사용자가 디렉터리에 들어갈 수 있다는 의미입니다.

관련 정보