2.4. 以前は無効にしていたシステムで SELinux を有効にする
セキュリティー保護を復元し、強制的なアクセス制御を適用するために、以前 SELinux が無効になっていたシステムで SELinux を有効にします。まず、システムを permissive モードで起動し、ファイルシステムにラベルを再設定する必要があります。そうすることで、セキュリティーラベルの欠落や誤りによって発生する起動エラーを防ぐことができます。
SELinux が disabled の状態で作成されたファイルシステムオブジェクトには、セキュリティーラベルは付与されません。システムはアクセス決定を行うために正しいコンテキストに依存しているため、ラベルがない状態で直接 enforcing モードに変更するとエラーが発生します。
再ラベル付けのためにシステムを再起動する前に、enforcing=0 カーネルオプションを使用するなどして、システムが Permissive モードで起動することを確認します。これにより、selinux-autorelabel サービスを起動する前に、systemd が必要とするラベルのないファイルがシステムにある場合に、システムが起動に失敗することを防ぎます。詳細は、RHBZ#2021835 を参照してください。
手順
- SELinux を Permissive モードで有効にします。詳細は、SELinux を permissive モードに変更する を参照してください。
システムを再起動します。
# reboot- SELinux 拒否メッセージを確認します。詳細は、SELinux 拒否の特定 を参照してください。
次の再起動時に、ファイルが再ラベル付けされていることを確認します。
# fixfiles -F onbootこれにより、
-Fオプションの効果により、/.autorelabelファイルが作成されます。警告fixfiles -F onbootコマンドを入力する前に、必ず Permissive モードに切り替えてください。デフォルトでは、
autorelabelはシステムで使用可能な CPU コアと同じ数のスレッドを並列に使用します。ラベルの自動再設定中に単一のスレッドのみを使用するには、fixfiles -T 1 onbootコマンドを使用します。- 拒否がない場合は、Enforcing モードに切り替えます。詳細は システム起動時の SELinux モードの変更 を参照してください。
検証
システムの再起動後に、
getenforceコマンドがEnforcingを返すことを確認します。$ getenforce Enforcing
次のステップ
Enforcing モードで SELinux を使用してカスタムアプリケーションを実行するには、次のいずれかのシナリオを選択してください。
-
unconfined_service_tドメインでアプリケーションを実行します。 - アプリケーションに新しいポリシーを記述します。詳細は、カスタム SELinux ポリシーの作成 のセクションを参照してください。