![无法删除文件 - 权限被拒绝 - 为什么?](https://linux22.com/image/26005/%E6%97%A0%E6%B3%95%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%20-%20%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%20-%20%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
[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
答案1
为了删除文件,您必须对该文件所在的目录具有写权限。当您删除rm
文件时,它会进行unlink
系统调用,从目录中删除该名称。仅当文件是指向 inode 的最后一个剩余链接时,才会删除该文件。
您可以在以下位置找到更多信息取消链接(2)。