rootユーザーの場合でも、Linuxでファイルを読み取り専用に設定する

rootユーザーの場合でも、Linuxでファイルを読み取り専用に設定する

私はchattr +i filenameすべてのユーザーに対してファイルを読み取り専用にするコマンドを知っています。ただし、問題はを使用してキャンセルできることですchattr -i filename

システムの誰もがファイルを読み取ることができますが、誰も書き込めないようにする方法はありますか?ルートでもなく戻り方もありません(書き換え可能なオプションはありません)。

ベストアンサー1

CDまたはDVDで焼く。消去できるタイプではなく、一度書き込むことができるタイプです。または他のタイプの読み取り専用デバイスです。

まあ、私はあなたがソフトウェアソリューションをしたいと思うので、ここにいくつかのアイデアがあります。ルートに対しても使用されるシステムコール(*)chattrを無効にするSELinuxルールセットを作成できます。もう1つの可能性は、以下を使用することです。能力:設定には機能が+i必要なため、CAP_LINUX_IMMUTABLE機能境界セット内のすべてのプロセスがその機能を含まないようにスケジュールできる場合、誰もこれらのフラグを変更できません。ただし、initこれをすべてのプロセスに適用するにはサポートが必要です。システムこれができるしかし、サービスごとに個別に行わなければならないと思います。

(※ioctl代替品となる場合もございます。)

ただし、これにより通常のルートがrawデバイス上のファイルシステムを変更できるため、これをdebugfs防止し、カーネルの変更(モジュールのロード)も防止する必要があります。 sysctlを使用してモジュールがロードされるのを防ぎますが、kernel.modules_disabledrawデバイスへのアクセスを防ぐかどうかはわかりません。そして、関連するすべての設定ファイルも変更不可能にします。

とにかく、その後、システムの起動方法が変更されるのを防ぐ必要があります。そうしないと、誰かが上記の制限を上書きできるカーネルを使用してシステムを再起動できます。

おすすめ記事