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