第10章 複数のシステムへの同じ SELinux 設定のデプロイメント
次のいずれかの方法を使用して、検証済みの SELinux 設定を複数のシステムにデプロイできます。
- RHEL システムロールおよび Ansible の使用
- RHEL Web コンソールの使用
-
スクリプトで
semanage
の export コマンドおよび import コマンドの使用
10.1. selinux
RHEL システムロールを使用したディレクトリーの SELinux コンテキストの復元
ファイルの SELinux コンテキストの誤りは、さまざまな場合に発生します。たとえば、ファイルをディレクトリーにコピーまたは移動する場合、ファイルの SELinux コンテキストが、新しい場所の予想されるコンテキストと一致しないことがあります。SELinux コンテキストが正しくないと、アプリケーションがファイルにアクセスできない可能性があります。多数のホストにあるディレクトリーの SELinux コンテキストをリモートでリセットするには、selinux
RHEL システムロールを使用できます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow --- - name: Managing SELinux hosts: managed-node-01.example.com tasks: - name: Restore SELinux context ansible.builtin.include_role: name: redhat.rhel_system_roles.selinux vars: selinux_restore_dirs: - /var/www/ - /etc/
--- - name: Managing SELinux hosts: managed-node-01.example.com tasks: - name: Restore SELinux context ansible.builtin.include_role: name: redhat.rhel_system_roles.selinux vars: selinux_restore_dirs: - /var/www/ - /etc/
サンプル Playbook で指定されている設定は次のとおりです。
selinux_restore_dirs: <list>
- ロールによって SELinux コンテキストをリセットするディレクトリーのリストを定義します。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.selinux/README.md
ファイルを参照してください。Playbook の構文を検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
検証
コンテキストをリセットしたファイルまたはディレクトリーの SELinux コンテキストを表示します。たとえば、
/var/www/
ディレクトリーのコンテキストを表示するには、次のように入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible rhel9.example.com -m command -a 'ls -ldZ /var/www/'
# ansible rhel9.example.com -m command -a 'ls -ldZ /var/www/' drwxr-xr-x. 4 root root system_u:object_r:httpd_sys_content_t:s0 33 Feb 28 13:20 /var/www/
関連情報
-
/usr/share/ansible/roles/rhel-system-roles.selinux/README.md
ファイル -
/usr/share/doc/rhel-system-roles/selinux/
ディレクトリー