web-dev-qa-db-ja.com

ファイルを削除できません-権限が拒否されました-なぜですか?

[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)は、削除したいファイルへのw権限を持つdb2iadm1グループの一部です。しかし、私はできません。なぜだろう?

更新-親ディレクトリの権限

drwxr-sr-x 2 root db2iadm1 4096 Aug 22 14:39 db2dump

13
Radek

ファイルを削除するには、ファイルが存在するディレクトリへの書き込み権限が必要です。ファイルをrmすると、ディレクトリから名前を削除するunlinkシステムコールが実行されます。これは、ファイルがiノードへの最後に残っているリンクである場合にのみ、ファイルを削除します。

詳細は nlink(2) を参照してください。

12
jordanm