web-dev-qa-db-ja.com

setgidファイルの削除権

私は数日からLinuxを学んでいますが、今はスティッキービットを使ってファイルパーミッションに参加しています。次のことを試しました。

[root@localhost sdcdir]# ll
total 24
drwx------. 2 root root 16384 Mar 21 21:38 lost+found
drwxrws--T. 2 root g1    4096 Mar 23 01:22 testdir

g1は、Pavan、Sudheer、およびSurendraをメンバーとして持つグループであり、Surendraはグループ管理者です(つまり、gpasswd -A Surendra)

ここで、Pavanはtestdirにファイルp1を作成します。

[Pavan@localhost testdir]$ touch f1
[Pavan@localhost testdir]$ ll
total 0
-rw-rw-r--. 1 Pavan g1 0 Mar 23 01:33 f1
[Pavan@localhost testdir]$ 

Surendraアカウントで削除しようとすると、エラーが発生します。

[Surendra@localhost sdcdir]$ cd testdir/
[Surendra@localhost testdir]$ ll
total 0
-rw-rw-r--. 1 Pavan g1 0 Mar 23 01:33 f1
[Surendra@localhost testdir]$ rm f1
rm: cannot remove `f1': Operation not permitted
[Surendra@localhost testdir]$ 

ファイルf1にはグループ所有者としてg1がありますが、Pavan自身以外はファイルを削除できません。 setgid、groupが所有者に設定されている場合、グループのメンバーがファイルを削除できないのはなぜですか?

2
surpavan

Testdirではなくsdcdir(その権限は何ですか?)でf1を削除しようとしていると思います。それはあなたの問題かもしれません。この場合、f1はrootによって所有され、所有者(root)にのみ書き込み権限が設定されており、uidが0でないユーザーはそれを削除できません。

ファイルを削除するには、そのディレクトリへの書き込み権限と実行権限の両方が必要です。

0
johnshen64