為什麼我不是所有者時可以刪除 755 檔案?

為什麼我不是所有者時可以刪除 755 檔案?

我有這個文件:

$ ls -l  store.sh 
-rwxr-xr-x   1 root apache    117 Feb  5  2016 store.sh

$ id
uid=48(apache) gid=48(apache) groups=48(apache)

我認為我沒有編輯此文件的權限,但可以刪除並替換該文件。怎麼會這樣?有人可以解釋這種行為嗎?

答案1

您不需要檔案的寫入權限即可刪除或移動(重新命名)它。您需要對該目錄有寫入權限含有文件,因為刪除或重新命名不是對檔案的操作,而是對目錄的檔案清單的操作。因此,在這種情況下,該檔案的目錄可能對apache使用者或apache群組具有寫入存取權限。

答案2

刪除文件不會修改相關文件,而是會修改父目錄,因為它會從目錄清單中刪除該文件。這也意味著您對該檔案的父目錄擁有完全權限

相關內容