Nie można usunąć pliku - odmowa dostępu - dlaczego?


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

Aktualnie zalogowany użytkownik (db2inst1) należy do grupy db2iadm1, która ma uprawnienia do pliku, który chcę usunąć. Ale nie jestem w stanie. Masz pomysł, dlaczego?

aktualizacja - uprawnienie do katalogu nadrzędnego

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


2
Jakie są uprawnienia do katalogu nadrzędnego? Zobacz Dlaczego można rmusuwać pliki tylko do odczytu?
ire_and_curses

Odpowiedzi:


12

Aby usunąć plik, musisz mieć uprawnienia do zapisu w katalogu, w którym znajduje się plik. Kiedy tworzysz rmplik, wywołuje unlinksystemowe wywołanie, które usuwa nazwę z katalogu. Usuwa to plik tylko wtedy, gdy jest ostatnim pozostałym łączem do i-węzła.

Więcej informacji można znaleźć w unlink (2) .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.