/ etcディレクトリを読み取り専用にするのは悪い考えですか?

/ etcディレクトリを読み取り専用にするのは悪い考えですか?

buildrootとinitramfsを使用して組み込みシステム設定を構築しました。これは、マウントおよび/etc/ディレクトリ/var用の別々のext3パーティションと、データを格納するためのカスタムディレクトリを作成したコンパクトフラッシュデバイスで実行されます。これが良いアイデアかどうかはわかりませんが、syslog出力にアクセスする必要があり、ファイルを/etc静的IPアドレスに設定する必要があるため、ファイルを変更することもできます。/etc/network/interfacesIPを設定するためにファイルを編集したら、手動で編集する必要がなくなるため、デバイスが現場にいる間に/etcこのインストールを読み取り専用に設定するのが良いアイデアか、読み取り専用に設定するのが良いかどうか疑問に思います。私のシステムの他のアプリでも可能です。プログラムは/etcのすべてのファイルに書き込む必要がありますか?かなり小さなシステムを実行しており、実際にはdropbearとbusyboxのみを実行しています(デバイスを制御するカスタムコントローラアプリと共に)。さまざまなフォーラムやウェブサイトを見て、そのアイデアはあまり議論の余地がないようですが、私の知識はやや制限的です。読み取り専用でマウントできることを知っていますが、問題が静かに中断される可能性があると思いますが、それは悪い考えですか?

答え1

読み取り専用は、/etc組み込みデバイスでますます一般的になっています。ほとんど変更されていないファイルは、デスクトップと/etcサーバーのインストールでも一般化されており、ファイルは別のファイルシステムにあり、シンボルにリンクされています/etc/mtab(したがってソフトウェアがインストールされている場合、またはコンピュータの構成が変更された場合はファイルを変更する必要がありますが、インストールするときはUSBドライブなどネットワークに接続されたノートブック)。/etc/resolv.conf/etc/etc

新しい標準は、tmpfsファイルシステム/run/etc同様のシンボリックリンクをマウントすることです。

/etc/mtab -> /run/mtab
/etc/resolv.conf -> /etc/resolvconf/run/resolv.conf

/dev/shm既存または組み込みシステムでは、tmpfsが別の場所にインストールされている可能性が/lib/init/rwあります/var/run

読み取り専用にするときの問題は、変更できる/etcファイルセットがロックされることです。

この問題を回避する別の方法は、ルートファイルシステムをinitramfsにすることです。これは、カーネルイメージの横に保存され、ブートローダによってロードされるアーカイブです。 RAMで解凍され、ファイルシステムルートのルートになります。 initramfsを維持したい場合は、あまりにも大きくてはいけません(貴重なRAMを使用するため)。ただし、BusyBoxバイナリと一部の設定ファイルは、おそらくRAMを使用するために許可される方法です。

別のアプローチは、読み取り専用ルートファイルシステムと共同設置ファイルシステムを読み書きします。

答え2

これはディストリビューションによって異なりますが、私が考えることができるいくつかの点は次のとおりです。

/etc/mtab/etc/adjtimeおよび/etc/resolv.conf変更が必要な一般的なファイルです。/etc/motdそうかもしれません/etc/issuecupsまた、独自にいくつかの設定ファイルを更新します。場合によっては、ファイルを作成する必要がありますnologin/etc

ほとんどの場合、ファイルを/var

答え3

あることを確認してください。何もないそこで修正が行われました。最後の修正時間(ls(1)で報告されているように)は十分でなければなりません。現在、多くのLinuxディストリビューションがすでに(またはほぼ)存在している必要があります。読み取り専用に設定し、ログに文句を言う内容を参照できます。

OTOH、/ etcは非常に小さいので、R / Wスペースを節約するにはあまり意味がありません。

関連情報