[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
ファイルを削除するには、ファイルが存在するディレクトリへの書き込み権限が必要です。ファイルをrm
すると、ディレクトリから名前を削除するunlink
システムコールが実行されます。これは、ファイルがiノードへの最後に残っているリンクである場合にのみ、ファイルを削除します。
詳細は nlink(2) を参照してください。