セキュリティ上の問題により、読み取り専用のrootfsが必要です(フラッシュのFSは変更できません)。他の書き込み可能パーティションは、読み取り専用のrootfsと一緒に使用できます(例:ロギング用)。
単純化のために、代わりにrootfsを読み取り専用として使用することをお勧めしますoverlayfs
。ただし、一部のプロセスがrootfsに書き込みを試みた後に失敗する可能性があることが心配です。
私たちのシステムは、プロセスが1つか2つしかないほど非常に小さいです。 (しかし含まれていますselinux
)auditd
。
Linuxシステムでは、rootfsを読み取り専用ファイルとして常に使用できますか?それともこの場合、overlayfsが必要ですか?
答え1
読み取り専用のルートファイルシステムを持つことは確かに可能です。これは、サーバータイプまたはワークステーションタイプのインストールでは不便で一般的ではありませんが、組み込みシステムでは一般的です。読み取り専用ルートファイルシステムには、主に次の制限事項がいくつかあります。
- 何もアップグレードしたりソフトウェアを追加したりすることはできません(
/usr/local
別のパーティションなどの他のファイルシステムを除く)。フラッシュメモリ全体のファイルシステムイメージを交換してアップグレードすると、問題はありません。 構成では何も再構成できません
/etc
。これは、すべての構成を異なる方法で実行する必要があることを意味します。一般的な解決策は次のとおりです。- 別のディレクトリにあるファイルを介して(アプリケーションを別々に構成する必要があります)
- 他のディレクトリへのシンボリックリンク。
- NVRAMから構成変数を読み取るスクリプトなどを介して動的に。
影響を受ける一般的なデータには、ネットワーク構成、タイムゾーン、ユーザー認証情報などが含まれます。
- 同じファイルシステムイメージを複数のコンピュータに展開する場合は、すべてのコンピュータ関連データをファイルシステムイメージの外に配置する必要があります。これには、ホスト名、SSHサーバーキーなどが含まれます。
/var
通常、ログやランダムシードファイルなどの永続書き込み可能ファイルの一部が必要です/var/log
(必要なハードウェアRNGがない場合)。