일반 사용자가 "다른" 사용자가 소유한 파일을 수정합니다.

일반 사용자가 "다른" 사용자가 소유한 파일을 수정합니다.

CentOS에서 권한 시스템을 사용하여 다음 기능을 달성하는 방법을 배우고 싶습니다.

시스템에는 다음과 같은 사용자가 있습니다.

user1
user2
user3

그리고 다음 디렉토리 구조..

/dir1
  /dir2
  /dir3

사용자 2는 dir 2의 파일을 실행하므로 이 파일에 쓸 수 있어야 합니다. 사용자 3은 dir 3의 파일을 실행하므로 이 파일에 쓸 수 있어야 합니다.

사용자 2는아니요dir3 사용자 3을 수정할 수 있어야 합니다.아니요dir2 수정 기능

문제는 사용자 1이 dir2와 dir3을 수정할 수 있어야 할 때 발생합니다.

답변1

이것을 시도하고 알려주십시오.
파일의 소유권을 변경하십시오
chown root:user1 dir1
chown root:user2 dir2
chown root:user3 dir3

파일의 권한 변경
chmod 764 user1
chmod 764 user2
chmod 764 user3

루트 권한이 있기를 바랍니다.
그렇지 않은 경우 sudo를 사용하십시오.


group1 groupadd group1
useradd -G group1 user1
useradd -G group1 user2
useradd -G group1 user3 과 같은 그룹에 사용자를 추가해야 합니다.


이제 user1이 dir1 dir2 & dir3 setfacl -R g:group1:rwx를 사용하도록 setfacl ACL을 실행할 수 있습니다.

답변2

group2화려한 ACL 없이 이 작업을 수행하는 가장 쉬운 방법은 및 이라는 두 개의 별도 그룹을 갖는 것입니다 group3.

  • 사용자 user1및 은(는 ) user2의 구성원이어야 group2하며 의 구성원이어야 합니다 . user1user3group3
  • 그러면 dir2그것은 속해야 group2하고 dir3속해야 합니다 dir3.
  • dir2및 둘 다 dir3해당 그룹 소유자가 읽고 쓸 수 있어야 하며GID 비트 설정생성하는 사용자의 기본 그룹이 아닌 포함 디렉터리의 그룹 소유권을 사용하여 새 파일이 생성되도록 설정합니다.
  • 결국 dir1모든 사람이 탐색할 수 있어야 합니다(읽을 수는 없음).

명령에서:

groupadd group2
groupadd group3
usermod -a -G group2 user1
usermod -a -G group2 user2
usermod -a -G group3 user1
usermod -a -G group3 user3

chmod 0711 dir1

chgrp group2 dir1/dir2
chmod 2770 dir1/dir2

chgrp group3 dir1/dir3
chmod 2770 dir1/dir3

관련 정보