Как пользователь root может создать файл / каталог, который сам не может быть записан?

8

Обычные пользователи могут chmodфайлы, чтобы сделать их недоступными, как

evgeniy@ubuntu:~$ touch test
evgeniy@ubuntu:~$ chmod 444 test
evgeniy@ubuntu:~$ echo 'test' > test
bash: test: Permission denied

Может ли что-то подобное быть смоделировано для пользователя root?

П. Долженко
источник
Я надеюсь, что нет, или я уверен, что сделаю это.
Марк Аллен
Идите и проверьте ответ @ danlefree;)
dolzenko

Ответы:

13

chattr +i *не позволит даже учетной записи root вносить изменения в файлы в каталоге (до chattr -i *запуска).

Согласно комментариям Slartibartfast, несколько вещей, которые вы должны знать о chattr и неизменном атрибуте:

  1. Неизменны бит предотвратит файл от удаления, переименования связаны, или записи; использовать lsattrдля отображения атрибутов почти так же, как lsотображает владельца и разрешения
  2. Вы можете предотвратить отключение неизменяемого бита (даже с помощью root), изменив CAP_LINUX_IMMUTABLEфлаг - для этого вы захотите установить libcap , но это только справедливое предупреждение о том, что возможности плохо документированы (в лучшем случае)
danlefree
источник
Чтобы помочь людям найти этот ответ, стоит упомянуть, что chattr + i делает файл неизменным.
Slartibartfast
5

SELinux можно использовать, чтобы пометить файл как недоступный для записи пользователем root в текущем домене и роли пользователя.

Игнасио Васкес-Абрамс
источник
Было бы здорово привести пример
Джонатан