Não é possível excluir um arquivo - permissão negada - por quê?

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

O usuário atualmente conectado (db2inst1) faz parte do grupo db2iadm1 que tem permissão w para o arquivo que desejo excluir. Mas eu não sou capaz. Alguma ideia do porquê?

update - permissão para o diretório pai

drwxr-sr-x 2 raiz db2iadm1 4096 22 de agosto às 14:39 db2dump

    
por Radek 02.10.2012 / 02:28

1 resposta

11

Para excluir um arquivo, você deve ter permissões de gravação no diretório em que o arquivo reside. Quando você rm a file faz a chamada de sistema unlink , que remove o nome do diretório. Isso exclui apenas o arquivo, se este for o último link restante para o inode.

Você pode encontrar mais informações em unlink (2) .

    
por 02.10.2012 / 02:45