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
하며 의 구성원이어야 합니다 .user1
user3
group3
- 그러면
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