ユーザーは自分のファイルのみを削除でき、あるユーザーは他の人のファイルを削除できるディレクトリを作成する方法は?

ユーザーは自分のファイルのみを削除でき、あるユーザーは他の人のファイルを削除できるディレクトリを作成する方法は?

次の設定を検討してください。

# 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人のユーザーを除くすべてのユーザーに固定フラグを適用できますか?

ベストアンサー1

唯一欠けているのは、Alexがディレクトリを所有する必要があるということです。

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

おすすめ記事