如何限制任何人(也包括Root用户)修改Linux中的文件?

如何限制任何人(也包括Root用户)修改Linux中的文件?

我正在开发一个安全基础软件为了LINUX平台使用CCPP.我想要限制所有用户甚至根用户也可以修改文件。即没有人可以修改该文件

修改手段没有人可以-到文件中,移动文件或消除文件等

  • 更确切地说 - -

我有一个文件命名为a.txt在目录中/home/,我想对此文件执行一些操作,以便没有人可以写进入这个文件,消除该文件或移动这个文件。

但可以读取文件。

我尝试过chattr命令 -

chattr +i /home/a.txt

它为其他用户解决了我的问题,但是当我切换到超级用户IE根用户进入终端并发出命令——

chattr -i /home/a.txt

所以/home/a.txt文件变成可变的。所以ROOT 用户可以将文件不可变更改为可变。所以ROOT用户的问题没有解决

所以我想对这个文件做一些事情,这样即使root用户也无法修改这个文件。我希望大家都清楚我的问题。我从上个月开始就在尝试这一点,但没有得到任何结果。任何建议和解决方案表示赞赏。

答案1

在通用操作系统上,总有一个超级用户帐户最终可以执行以下操作:并撤消任何事情(否则,您无法缓解/清理受损的系统)。

  • 不可变属性 ( chattr +i) 是避免错误的好选择
  • 将文件系统安装为只读是不切实际且无效的(易于撤消)
  • 创建和使用只读文件系统很容易覆盖(覆盖 FS,或者只是使用绑定挂载到另一个文件系统)
  • 强制访问控制系统(如 SELinux)最接近您想要的:(员工角色无法执行某些操作,但还有一个 (系统管理员角色拥有更多特权)
  • 即使在最偏执的系统上,安全性也将归结为谁可以物理访问系统......修改内核启动命令就像(这适用于 Android 设备)

答案2

解决方案可以是创建一个luks用密码加密的分区。

编辑:可以使用另一种方法IPFS来存储文件。

相关内容