[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)。