다음 설정을 고려하십시오.
# two users in groups sales
useradd edwin
useradd santos
groupadd sales
usermod -aG sales edwin
usermod -aG sales santos
# two users in group account
useradd serene
useradd alex
groupadd account
usermod -aG account serene
usermod -aG account alex
# every group has its own directory with full access
mkdir -p ./groups/sales ./groups/account
cd ./groups
chown :account ./account
chown :sales ./sales
chmod g+rwx ./account ./sales
작업 규정:
사용자는 자신의 파일만 삭제할 수 있지만 alex는 총괄 관리자이므로 alex 사용자는 모든 사용자의 파일을 삭제할 수 있는 권한을 갖습니다.
이제 사용자는 자신의 파일만 삭제할 수 있으므로 다음과 같이 합니다.
chmod +t /groups/account /groups/sales
그런데 이제 질문이 생겼습니다. Alex는 관리자이므로 삭제할 수 있어야 합니다.누구의(!) 문서. 예를 들어 보겠습니다.
setfactl -a u:alex:rwx /groups/sales /groups/account
그러나 이것은 도움이 되지 않습니다:
[root@localhost groups]# getfacl sales/
# file: sales/
# owner: root
# group: sales
# flags: --t
user::rwx
user:alex:rwx
group::rwx
mask::rwx
other::r-x
[root@localhost groups]# sudo -u edwin touch sales/file
[root@localhost groups]# sudo -u alex rm -f sales/file
rm: cannot remove 'sales/file': Operation not permitted
한 명의 사용자를 제외한 모든 사용자에게 고정 플래그를 적용할 수 있습니까?
답변1
유일하게 누락된 부분은 Alex가 디렉터리를 소유해야 한다는 것입니다.
chown alex ./groups/sales ./groups/account