user@bel02:w$ ls -la
total 12
drwxrwxr-x 2 user user 4096 июл 11 17:22 .
drwxrwxr-x 3 user user 4096 июл 11 17:16 ..
-rw-rw-r-- 1 root root 53 июл 11 17:23 File
user@bel02:w$ gzip File
user@bel02:w$ ls -la
total 12
drwxrwxr-x 2 user user 4096 июл 11 17:25 .
drwxrwxr-x 3 user user 4096 июл 11 17:16 ..
-rw-rw-r-- 1 user user 73 июл 11 17:23 File.gz
Извините, слэнга сисадминов не понимаю. Но «делай раз, делай два» смогу повторить, если пойму для чего.
Вопрос в том, где написано черным по белому правило, что права директории сильнее прав присвоенных файлу в этой директории?
мне до сисадмина далековато будет, я максимум админ локалхоста. не знаю как ещё проще растолковать моё прошлое предложение… но суть не в этом.
ты применяешь к файлу команду, а затем спрашиваешь как файловая система такое допускает. ну прям магия какая-то? (да нет)
в идеале необходимо выполнить операцию над файлом под наблюдением специального ПО (например не gzip File, а strace gzip File|less или в файл сохранить вывод команды). Там будут «все ходы записаны» (системные вызовы для файловых операций) и смотря на них можно будет сформулировать правильный вопрос (что-то вроде «какое такое право имел gzip удалять файл пользователя root из группы root, что его авторы себе позволяют» и т.д.)
Команда rm не удаляет файл. Она вычёркивает имя файла из директории и уменьшает на единицу счётчик ссылок файла. Сам файл при этом вообще не трогается. Вполне может оказаться, что на него ссылается ещё одна директория. Вот если счётчик становится равным нулю, файл действительно удаляется. Так что права на доступ к файлу вообще не относятся к команде удаления.
что права директории сильнее прав присвоенных файлу в этой директории?
Они не сильнее, у файла просто НЕТ прав на удаление.
В винде - есть. Там у каждого файла есть право Delete. А в Линуксе только rwx - read/write/execute.
Поэтому право на удаление дает право записи в каталог, содержащий файл.
А чтобы кто попало не мог удалять чужие файлы, имея право записи в каталог, на каталог можно поставить sticky-бит.
Тебе домашнее задание - прочитать про sticky-бит на каталог.