rootfs 只读 vs overlayfs

rootfs 只读 vs overlayfs

由于安全问题,我们需要一个只读 rootfs(无法更改闪存中的 FS)。其他可写分区可以与只读 rootfs 一起使用(例如用于日志)。

就简单性而言,我们宁愿使用 rootfs 只读方式,而不是overlayfs.然而,我担心某些进程可能会尝试写入 rootfs,然后会失败。

我们的系统非常小,只有一两个进程。 (但也包含selinuxauditd)。

在Linux系统中是否总是可以将rootfs用作只读文件,或者在这种情况下是否需要使用overlayfs?

答案1

绝对有可能拥有只读根文件系统。这在服务器类型或工作站类型的安装上很不方便且不常见,但在嵌入式系统上很常见。只读根文件系统有一些限制,主要是:

  • 您无法在其上升级任何内容或添加任何软件(其他文件系统除外,例如/usr/local在单独的分区上)。如果您通过替换整个闪存中的文件系统映像来进行升级,则这不是问题。
  • 您无法重新配置 中的任何内容/etc。这意味着任何配置都必须以不同的方式完成;典型的解决方案包括:

    • 通过其他目录中的文件(然后您需要以不同的方式配置应用程序);
    • 通过符号链接到另一个目录;
    • 动态地,例如通过从 NVRAM 读取配置变量的脚本。

    典型的受影响数据包括网络配置、时区、用户身份验证信息等。

  • 如果将相同的文件系统映像部署到多台计算机,则需要将所有特定于计算机的数据安排在文件系统映像之外。这包括主机名、SSH 服务器密钥等。
  • 您通常需要 下的一些持久可写文件/var,例如 下的日志/var/log和随机种子文件(除非您有硬件 RNG,否则需要)。

相关内容