Impossible de supprimer un fichier - autorisation refusée - pourquoi?


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

L'utilisateur actuellement connecté (db2inst1) fait partie du groupe db2iadm1 qui a l'autorisation w sur le fichier que je souhaite supprimer. Mais je ne peux pas. Une idée pourquoi?

mise à jour - autorisation pour le répertoire parent

drwxr-sr-x 2 root db2iadm1 4096 22 août 14:39 db2dump


2
Quelles sont les autorisations sur le répertoire parent? Voir Pourquoi peut rmsupprimer des fichiers en lecture seule?
ire_and_curses

Réponses:


11

Afin de supprimer un fichier, vous devez avoir des autorisations d'écriture sur le répertoire dans lequel se trouve le fichier. Lorsque vous rmun fichier, il fait l' unlinkappel système qui supprime le nom du répertoire. Cela supprime le fichier uniquement s'il s'agit du dernier lien restant vers l'inode.

Vous pouvez trouver plus d'informations dans unlink (2) .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.