
我有這個文件:
$ 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
刪除文件不會修改相關文件,而是會修改父目錄,因為它會從目錄清單中刪除該文件。這也意味著您對該檔案的父目錄擁有完全權限