オペレーティングシステムを再インストールした後、ローカルの selinux コンテキストを再生成します。

オペレーティングシステムを再インストールした後、ローカルの selinux コンテキストを再生成します。

"semanage fcontext ..."コマンドを介してSELinuxにいくつかの特定のコンテキストを追加しました。これらのスキーマは /etc/selinux/targetd/contexts/files/file_contexts.local に保存されます。

別のマシンで同じ権限を取得したい場合、またはそのマシンにオペレーティングシステムを再インストールする必要があるとします。 file_contexts.localを正しい場所に置くだけで十分でしょうか? SELinuxプロセスを有効にしてこのファイルを使用するために実行する必要がある追加の手順はありますか?

オペレーティングシステム:RHEL 6.7

ありがとうございます!

ベストアンサー1

/etc/selinux/targetd/contexts/files/file_contexts.localファイルのコピーに加えて、restoreconそのファイルで参照されているディレクトリとファイルに対してコマンドを実行する必要があります/etc/selinux/targetd/contexts/files/file_contexts.local

これを行う簡単な方法(SELinuxのデフォルトによって参照されるシステム上のすべてのファイルのSELinuxコンテキストも設定する/etc/selinux/targetd/contexts/files/file_contexts)は、次のコマンドを実行することです。

$ sudo restorecon -R /

ノート:このフラグは、サブディレクトリとファイルに再帰し、ファイルに定義されている-Rようにシステム上のすべてのファイルのコンテキストを復元することを意味します。file_contextfile_context.local

編集する:Sourcejediがコメントで賢明に指摘したように。フルファイルシステムで実行すると、サポートされていないrestoreconファイルシステム(マウントされたドライブなど)のラベルを変更しようとする可能性があります。この問題を回避するには、このコマンドを使用できますfixfiles restore

fixfilesマニュアルページから:

By default it will relabel all mounted ext2, ext3, xfs and jfs file systems as 
long as they do not have a security context mount option. The file 
/etc/selinux/fixfiles_exclude_dirs can contain a list of directories 
excluded from relabeling.

fixfiles onbootまた、次回の再起動時に再表示するためにも使用できます。

同様にtouch /.autorelabel && reboot、再起動中にfiles /のラベルが再割り当てされます。

おすすめ記事