Linux - 群組成員無法刪除具有rw權限的文件

Linux - 群組成員無法刪除具有rw權限的文件

下面顯示了一個文件,/tmp/testfile,擁有者用戶1組更改為車輪這也包括用戶2。該檔案具有rw該群組的權限。那麼群組中的任何成員都不能刪除它嗎?下面的範例輸出表明用戶2無法刪除該檔案。為什麼?

[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

答案1

首先,您正在查看錯誤的權限。當您移動/重命名/刪除檔案時,您只是修改了父目錄– 不檢查檔案自身的權限。您僅從目錄的檔案清單中刪除一個項目。因此,您應該檢查父目錄的權限(在本例中/tmp)。

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

/tmp是特殊。在幾乎所有系統上,任何人都可以寫入 ( ugo=rwx),因此乍一看,似乎任何人都可以重新命名或刪除其中的任何檔案。這當然會很容易(甚至更容易)給其他用戶帶來問題,因此/tmp總是設置“粘性”又名“限制刪除”模式(o+t)。設定此模式後,只有文件的擁有者可以移動或刪除該目錄中的文件,無論任何權限為何。

(在 GNU coreutils 上,chmod(1)手冊頁有一個關於“限制刪除標誌或黏性位”.)

相關內容