RestoreconはCentOS 7では何もしません。

RestoreconはCentOS 7では何もしません。

CentOS 7.5、Linux 3.10.0-862.3.2.el7.x86_64でファイルコンテキストがどのように機能するかを理解しようとしています。ls -Z、期待どおりに動作してchconいるようですが、こだわり沈黙しているようです。semanagerestorecon

たとえば、

$ cd
$ mkdir context
$ ls -laZ
drwxrwxr-x  liteyear liteyear ?                                context
$ chcon -v unconfined_u:object_r:user_home_t:s0 context
$ ls -laZ
drwxrwxr-x. liteyear liteyear unconfined_u:object_r:user_home_t:s0 context
$ rmdir context

すべてが大丈夫ですsemanage

$ mkdir context
$ sudo semanage fcontext -a -t user_home_t /home/liteyear/context
$ cat /etc/selinux/targeted/contexts/files/file_contexts.local

# This file is auto-generated by libsemanage
# Do not edit directly.

/home/liteyear/context    system_u:object_r:user_home_t:s0

すべてが大丈夫restoreconですが、パスは次のとおりです。

$ restorecon -v /home/liteyear/context
$ ls -laZ
drwxrwxr-x  liteyear liteyear ?                                context

ファイルコンテキストは適用されません。

既存のコンテキスト、異なるコンテキスト、異なるフォルダ、ファイルを使用してさまざまな反復を試みましたが、restorecon結果は出ませんでした。さまざまな類似のレポートがあります(例:[CentOS] SELinux Restoreconが機能しない)しかし、誰も問題があることを確認していないようです。

restoreconこれを行うべきですか?

答え1

SELinuxが有効になっている実行中のシステムでは、新しいファイルとディレクトリは親ディレクトリからコンテキストを継承するか、ポリシールールに従ってコンテキストを適用します。この例では、SELinuxコンテキストを適用せずに作成されたディレクトリを示し、セキュリティコンテキスト列の出力から見ることができますls -Z?

これは、システムでSELinuxが有効になっていないことを示します。 SELinuxが有効になると、システムは自動的にファイルコンテキストを適用します。

sestatusコマンドを使用してSELinuxのステータスを確認できます。

SELinuxを再度有効にするには、次の点を確認する必要があります。文書事前に。ラベルのリダイレクト(適用するラベルの欠落)を許可するには、まずシステムを許可モードで起動し、適用モードに切り替える前に明らかな問題を解決する必要があります。

SELinux には通常、いくつかの構成が必要です。ファイルがデフォルトポリシーに含まれていない場所にある可能性があります。あるいは、アプリケーションがデフォルトポリシーで許可するよりも多くの権限を必要とする場合があります。audit2allowこれはSELinuxログを調査するためのaudit2why便利なツールであり、しばしば誤ったファイルラベルを表示したり問題を解決したりするためのブール値を提案します。

SELinuxも許可ドメインポリシーの残りの部分は、実行モードのまま、特定のドメイン(プロセス)に対してSELinuxを無効にするために使用できます。許可モードでは、適用モードと同じ方法でログが生成され、それ以外の場合はアクセスが拒否されます。明らかに、許可されたドメインでアプリケーションを実行することは、SELinuxを無効にした状態でアプリケーションを実行するのと実質的に同じです。

関連情報