Linux-グループメンバーはrw権限でファイルを削除できません


15

以下に/tmp/testfileuser1が所有するファイルを示します。このグループは、user2も含むwheelに変更されています。ファイルにはrwグループのアクセス許可があります。それで、グループのメンバーはそれを削除できませんか?以下の出力例は、user2がファイルを削除できないことを示しています。どうして?

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted


さらに、@ grawityによる完全な説明に加えて、適切な解決策は、「独自の」ディレクトリを作成しtmp、スティッキーな状況を修正することです
fcm

回答:


30

まず、あなたは間違った許可を見ています。ファイルを移動/名前変更/削除すると、親ディレクトリのみが変更されます。ファイル自体のアクセス許可はチェックされません。ディレクトリのファイルリストからエントリを削除するだけです。したがって、親ディレクトリの権限を確認する必要があります(この場合/tmp)。

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

第二に、/tmp特別です。実質的にすべてのシステムで、誰でも書き込み可能(ugo=rwx)であるため、一見すると、誰でもその中のファイルの名前を変更または削除できるように見えます。これにより、もちろん他のユーザーの問題を簡単に(まあ、さらに簡単に)作成できるため、/tmp常に「スティッキー」別名「制限付き削除」モードが設定されます(o+t)。このモードを設定すると、アクセス許可に関係なく、ファイルの所有者のみがそのディレクトリ内のファイルを移動または削除できます。

(GNU coreutilsでは、chmod(1)マニュアルページに「制限付き削除フラグまたはスティッキービット」に関するセクションがあります。)


特別なスティッキー許可の2番目のポイントが原因で、同じ問題に直面しています。私はそれchmod o-t /tmpを削除しようとした後、ファイルを削除するために再試行しましたが、それでも同じことを訴えています。
シャシャンクアグラワル

1
ファイルの所有者は、上記のディレクトリの下にあるファイルを削除できるだけでなく、ルートとディレクトリの所有者(例:/ tmp)も削除できます。
wulfgarpro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.