Root

rootfs 只讀 vs overlayfs

  • October 8, 2018

由於安全問題,我們需要一個只讀的 rootfs(不能更改快閃記憶體中的 FS)。其他可寫分區可以與只讀 rootfs 一起使用(例如用於日誌)。

就簡單性而言,我們寧願使用 rootfs 只讀方式,而不是overlayfs. 然而,我擔心某些程序可能會嘗試寫入 rootfs,然後會失敗。

我們的系統非常小而且極小,它只有一兩個程序。(但也包含selinuxauditd)。

在 Linux 系統中是否總是可以將 rootfs 用作只讀,或者在這種情況下是否需要使用 overlayfs?

絕對有可能擁有一個只讀的根文件系統。這在伺服器類型或工作站類型的安裝中不方便且不常見,但在嵌入式系統上很常見。只讀根文件系統有一些限制,主要是:

  • 你不能在上面升級任何東西或添加任何軟體(除了在其他文件系統上,例如/usr/local在一個單獨的分區上)。如果您通過替換整個快閃記憶體中的文件系統映像進行升級,這不是問題。

  • 您無法重新配置/etc. 這意味著任何配置都必須以不同的方式完成;典型的解決方案包括:

    • 通過其他目錄中的文件(然後您需要以不同方式配置應用程序);
    • 通過符號連結到另一個目錄;
    • 動態地,例如通過從 NVRAM 讀取配置變數的腳本。典型的受影響數據包括網路配置、時區、使用者認證資訊等。
  • 如果將相同的文件系統映像部署到多台機器上,則需要將所有特定於機器的數據安排在文件系統映像之外。這包括主機名、SSH 伺服器密鑰等。

  • 您通常需要一些持久性可寫文件/var,例如日誌/var/log和隨機種子文件(除非您有硬體 RNG,否則需要)。

引用自:https://unix.stackexchange.com/questions/474049