Linux

無法刪除文件模式位為 a+rw 的文件

  • May 29, 2020

我有一個具有以下文件模式位(a+rw)的文件:

[0] mypc<johndoe>:~>sudo touch /tmp/test    
[0] mypc<johndoe>:~>sudo chmod a+rw /tmp/test
[0] mypc<johndoe>:~>ls -l  /tmp/test
-rw-rw-rw- 1 root root 0 Mar 13 11:09 /tmp/test

為什麼我不能刪除文件?

[0] mypc<johndoe>:~>rm /tmp/test
rm: cannot remove '/tmp/test': Operation not permitted

/tmp目錄通常使用受限刪除標誌進行標記,該標誌顯示為許可字母tTls輸出中。

限制刪除意味著幾件事。在一般情況下,它意味著只有文件的所有者,或者/tmp它自己的所有者,才能刪除/tmp.

您不能刪除該文件,因為您不是所有者,即root. 嘗試rm使用sudo您可能忘記的跑步方式。

sudo rm /tmp/test

更具體地說,僅對Linux 而言,受限刪除標誌(在全域可寫目錄上,例如/tmp啟用了protected_symlinksprotected_hardlinksprotected_regularprotected_fifos連結到他們不擁有的文件,阻止使用者打開他們不擁有的 FIFO,並阻止使用者在他們希望創建它們時打開他們不擁有的現有文件。

root當您執行各種其他操作時,例如使用sudo.

有關這些問題的更多資訊,例如“ CentOS 6 和 CentOS 7 之間的硬連結權限行為不同”、“更改使用者時符號連結無法按預期工作”和“ root 的組權限在 /tmp 中不起作用”。

引用自:https://unix.stackexchange.com/questions/506039