"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_context
file_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 /のラベルが再割り当てされます。