Permissions

無法刪除文件 - 權限被拒絕 - 為什麼?

  • April 22, 2014
[db2inst1][testing ~/sqllib/db2dump] rm db2diag.log 
rm: cannot remove `db2diag.log': Permission denied
[db2inst1][testing ~/sqllib/db2dump] id
uid=1002(db2inst1) gid=107(db2iadm1) groups=16(dialout),33(video),107(db2iadm1),108(db2fadm1),1001(eduserver)
[db2inst1][testing ~/sqllib/db2dump] ll
total 1381172
-rw-rw-rw- 1 root db2iadm1 1412931954 Oct  2 10:24 db2diag.log

目前登錄的使用者 (db2inst1) 是 db2iadm1 組的一部分,該組對我要刪除的文件具有 w 權限。但我做不到。知道為什麼嗎?

更新 - 父目錄的權限

drwxr-sr-x 2 根 db2iadm1 4096 8 月 22 日 14:39 db2dump

為了刪除文件,您必須對文件所在的目錄具有寫權限。當您rm創建文件時,它會進行unlink系統呼叫,從而從目錄中刪除名稱。僅當文件是指向 inode 的最後一個剩餘連結時,才會刪除該文件。

您可以在unlink(2)中找到更多資訊。

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