Linux - член групи не може видалити файл з дозволу rw


15

Нижче показаний файл, що /tmp/testfileналежить user1 із групою, зміненою на колесо, яка також включає user2 . Файл має rwдозвіл для групи. Так чи не повинен жоден член групи бути в змозі видалити його? Наведений нижче приклад показує, що user2 не в змозі видалити файл. Чому?

[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


Крім повного пояснення від @grawity, хорошим рішенням є створення власного каталогу під tmpта виправлення клейкої ситуації
fcm

Відповіді:


30

По-перше, ви дивитесь на неправильні дозволи. Під час переміщення / перейменування / видалення файлу ви змінюєте лише батьківський каталог - власні дозволи файлу не перевіряються. Ви вилучаєте лише запис із списку файлів каталогу. Тому слід перевірити дозволи батьківського каталогу (у цьому випадку /tmp).

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

По-друге, /tmpособлива. Практично у всіх системах його можна записувати будь-яким ( ugo=rwx), тому на перший погляд схоже, що хтось міг перейменувати або видалити будь-який файл із нього. Це, звичайно, полегшить (ну, ще простіше) створювати проблеми для інших користувачів, тому /tmpзавжди встановлено режим "липкого" ака "обмеженого видалення" ( o+t). Якщо встановити цей режим, лише власник файлу може переміщувати або видаляти файли в цьому каталозі, незалежно від дозволів.

(На coreutils GNU на chmod(1)сторінці керівництва є розділ про "прапор обмеженого видалення або клейкий біт" .)


Я зіткнувся з тим же питанням через другий пункт спеціального липкого дозволу. Я спробував її видалити, chmod o-t /tmpа потім повторно спробував видалити файл, але він все одно скаржиться на те саме.
Shashank Agrawal

1
Не тільки власник файлу може видаляти файли у вказаному каталозі, але і root та власник каталогу (наприклад, / tmp).
wulfgarpro
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.