Как создать файл, даже если пользователь root не может его удалить?
Как создать файл, даже если пользователь root не может его удалить?
Ответы:
Простой ответ: вы не можете, root может сделать все.
Вы можете установить атрибут "i" с помощью chattr (по крайней мере, если вы находитесь на ext {2,3,4}), что делает файл неизменным, но root может просто сбросить атрибут и удалить файл в любом случае.
Более сложный (и уродливый хакерский обходной путь): Поместите каталог, который вы хотите изменить для root, на удаленный сервер и смонтируйте его через NFS или SMB. Если сервер не предлагает разрешения на запись, это блокирует локальную корневую учетную запись. Конечно, локальная корневая учетная запись может просто скопировать файлы локально, размонтировать удаленный материал, поместить копию на место и изменить ее.
Вы не можете заблокировать root от удаления ваших файлов. Если вы не можете доверять своему корневому каталогу, чтобы сохранить файлы в целости, у вас возникла социальная проблема, а не техническая.
mv?» (это глупая шутка, основанная на христианской теософии, и ужасная шутка, если вы не знакомы с полем)
Поместите это на компакт-диск! ;)
(это должен быть комментарий, но я не могу делать комментарии ...)
Давным-давно я написал патч для ядра (до версии 2.2.ancient), в котором попытка удалить файл с именем SELFDESTRUCT убила вызывающий процесс. Это защищено от случайного "rm -rf *".
Вы можете использовать, chattr +iчтобы сделать файл неизменным.
Конечно, опытный пользователь с правами суперпользователя все еще может использовать chattr -iдля удаления атрибута immutable, а затем удалить файл, но он также может отменить любые другие попытки заблокировать доступ, перечисленные здесь.
Я бы сказал, что Chattr - это правильный способ Unix сделать это.