Datei kann nicht gelöscht werden - Berechtigung verweigert - warum?


12
[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

Der derzeit angemeldete Benutzer (db2inst1) gehört zur Gruppe db2iadm1, die über die Berechtigung w für die zu löschende Datei verfügt. Aber ich bin nicht in der lage Irgendeine Idee warum?

update - Berechtigung für übergeordnetes Verzeichnis

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


2
Was sind die Berechtigungen für das übergeordnete Verzeichnis? Siehe Warum können rmschreibgeschützte Dateien entfernt werden?
ire_and_curses

Antworten:


11

Um eine Datei zu löschen, müssen Sie über Schreibrechte für das Verzeichnis verfügen, in dem sich die Datei befindet. Wenn Sie rmeine Datei erstellen, wird der unlinkSystemaufruf ausgeführt, der den Namen aus dem Verzeichnis entfernt. Dadurch wird die Datei nur gelöscht, wenn es sich um den letzten verbleibenden Link zum Inode handelt.

Weitere Informationen finden Sie in unlink (2) .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.