グループメンバーとして書き込み権限を持つファイルを削除することはできません。

グループメンバーとして書き込み権限を持つファイルを削除することはできません。
$ touch testfile
$ chmod g+w testfile
$ sudo adduser user2 user1
$ stat -c'%a %A' testfile
664 -rw-rw-r--
$ su user2
Password: 
$ groups
user2 user1
$ rm testfile 
rm: cannot remove `testfile': Permission denied

なくなったものありますか?

答え1

ファイルを削除するとは、変更中であることを意味します。目次ファイル自体ではなくファイルに常駐します。ファイルを削除するには、グループからディレクトリを読み取る必要があります。ファイルの権限は、ファイル自体を変更するためにのみ使用されます。

ファイルシステムがどのように機能するかを考えるまで、最初は混乱する可能性があります。ファイルは単なるinodeであり、ディレクトリはinodeを参照します。削除すると、ディレクトリ内のファイルのinodeへの参照のみが削除されます。したがって、ファイルではなくディレクトリを変更することです。別のディレクトリにあるファイルへのハードリンクを持つことができ、実際にファイル自体を変更しなくても、最初のディレクトリからそのファイルを削除でき、そのファイルは他のディレクトリに存在し続けます。

答え2

システムからのみファイルを削除でき、ファイルが参照されていない場合にのみ可能です。一般ユーザーのみ利用可能解くつまり、ディレクトリからファイルを削除します。ディレクトリからファイルへのリンクを解除するには、ディレクトリへの書き込み権限が必要です。ファイルのリンクを解除してもファイルは変更されないため、ファイルへの書き込み権限は重要ではありません。

答え3

必要なディレクトリからファイルを削除するようですユーザー書き込み権限。許可された回答によると、グループ書き込みとすべての書き込みだけでは不十分です。

両方のコンピュータの両方のファイルシステムでこれをテストしました。

$ mkdir testdir
$ touch testdir/foo
$ chmod u-w testdir
$ chmod o+w testdir
$ ls -ld testdir
dr-xr-xrwx 2 tim all 17 Nov 25 23:08 testdir
$ rm testdir/foo
rm: cannot remove 'testdir/foo': Permission denied
$ chmod g+w testdir
$ rm testdir/foo
rm: cannot remove 'testdir/foo': Permission denied
$ chmod u+w testdir
$ rm testdir/foo

関連情報