Linux - członek grupy nie może usunąć pliku z uprawnieniami rw

15

Poniżej pokazano plik, /tmp/testfilektórego właścicielem jest użytkownik1, z grupą zmienioną na koło, która obejmuje również użytkownika2 . Plik ma rwuprawnienia 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
użytkownik347765
źródło
Ponadto do pełnego wyjaśnienia @grawity dobrym rozwiązaniem jest utworzenie własnego katalogu pod tmpi naprawienie lepkiej sytuacji
fcm

Odpowiedzi:

30

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).

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

Po drugie, /tmpjest 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 /tmpzawsze 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” ).

użytkownik1686
źródło
Stoję w obliczu tego samego problemu ze względu na drugi punkt specjalnego przylepnego pozwolenia. Próbowałem go usunąć, chmod o-t /tmpa następnie ponowiłem próbę usunięcia pliku, ale nadal narzeka.
Shashank Agrawal
1
Właściciel pliku może nie tylko usuwać pliki ze wspomnianego katalogu, ale także root i właściciel katalogu (np. / Tmp).
wulfgarpro,