Poniżej pokazano plik, /tmp/testfile
którego właścicielem jest użytkownik1, z grupą zmienioną na koło, która obejmuje również użytkownika2 . Plik ma rw
uprawnienia do grupy. Czy więc żaden członek grupy nie powinien być w stanie go usunąć? Poniższy przykładowy wynik pokazuje, że użytkownik2 nie może usunąć pliku. Dlaczego?
[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$ rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted
linux
permissions
file-permissions
użytkownik347765
źródło
źródło
tmp
i naprawienie lepkiej sytuacjiOdpowiedzi:
Po pierwsze, patrzysz na złe uprawnienia. Kiedy przenosisz / zmieniasz nazwę / usuwasz plik, modyfikujesz tylko katalog macierzysty - własne uprawnienia do pliku nie są sprawdzane. Usuwasz tylko wpis z listy plików katalogu. Dlatego powinieneś sprawdzić uprawnienia do katalogu nadrzędnego (w tym przypadku
/tmp
).Po drugie,
/tmp
jest wyjątkowy. Na praktycznie wszystkich systemach jest zapisywalny przez każdego (ugo=rwx
), więc na pierwszy rzut oka wygląda na to, że każdy może zmienić nazwę lub usunąć z niego dowolny plik. To oczywiście ułatwiłoby (cóż, nawet łatwiej) tworzenie problemów innym użytkownikom, dlatego/tmp
zawsze ma ustawiony tryb „lepkiego”, czyli „ograniczonego usuwania” (o+t
). Po ustawieniu tego trybu tylko właściciel pliku może przenosić lub usuwać pliki w tym katalogu, niezależnie od jakichkolwiek uprawnień.(W jądrach GNU
chmod(1)
strona podręcznika zawiera sekcję dotyczącą „flagi ograniczonego usuwania lub lepkiego bitu” ).źródło
chmod o-t /tmp
a następnie ponowiłem próbę usunięcia pliku, ale nadal narzeka.