如何创建一个即使root用户也无法删除的文件?
答案1
简单的答案:你不能,root 可以做任何事情。
您可以使用 chattr 设置“i”属性(至少如果您在 ext{2,3,4} 上),这使得文件不可更改,但 root 可以取消设置该属性并删除该文件。
更复杂(而且丑陋的黑客解决方法):将您希望根目录不可更改的目录放在远程服务器上,并通过 NFS 或 SMB 挂载它。如果服务器不提供写入权限,则会锁定本地 root 帐户。当然,本地 root 帐户可以只在本地复制文件,卸载远程内容,将副本放在适当的位置并进行更改。
您无法阻止 root 删除您的文件。如果您不能相信您的根能够保持文件完整,那么您遇到的是社会问题,而不是技术问题。
答案2
将其放入 CD-ROM 中! ;)
(这应该是一个评论,但我不能做评论......)
答案3
将您的文件放在只读文件系统上。这可以是根不再是根的远程FS、CD-ROM或可以写保护的可移动设备,例如SD卡。
答案4
您可以使用它chattr +i
来使文件不可变。
当然,具有 root 访问权限的精明用户仍然可以使用chattr -i
删除不可变属性,然后删除文件,但他们也可以撤消此处列出的任何其他阻止访问的尝试。
我认为查特尔是执行此操作的正确 Unix 方法。