Rhel

如何創建一個目錄,使用者只能刪除自己的文件,但一個使用者可以刪除任何人的文件?

  • March 11, 2022

考慮以下設置:

# 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

是否可以將粘性標誌應用於除一個使用者之外的所有使用者?

唯一缺少的部分是 Alex 應該擁有該目錄

chown alex ./groups/sales ./groups/account

引用自:https://unix.stackexchange.com/questions/693990