10장. 여러 시스템에 동일한 SELinux 구성 배포
다음 방법 중 하나를 사용하여 여러 시스템에 확인된 SELinux 구성을 배포할 수 있습니다.
- RHEL 시스템 역할 및 Ansible 사용
- RHEL 웹 콘솔 사용
-
semanage export및 import 명령을 사용하여 스크립트에서 명령
10.1. selinux RHEL 시스템 역할을 사용하여 디렉터리에서 SELinux 컨텍스트 복원 링크 복사링크가 클립보드에 복사되었습니다!
파일에 잘못된 SELinux 컨텍스트가 있는 경우 다음과 같은 여러 사례가 있을 수 있습니다. 예를 들어 파일이 복사되거나 디렉터리로 이동하는 경우 SELinux 컨텍스트가 새 위치의 예상 컨텍스트와 일치하지 않을 수 있습니다. 잘못된 SELinux 컨텍스트를 사용하면 애플리케이션이 파일에 액세스하지 못할 수 있습니다. 많은 호스트의 디렉터리에서 SELinux 컨텍스트를 원격으로 재설정하려면 selinux RHEL 시스템 역할을 사용할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제 플레이북에 지정된 설정은 다음과 같습니다.
selinux_restore_dirs: <list>- SELinux 컨텍스트를 재설정해야 하는 디렉터리 목록을 정의합니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.selinux/README.md파일을 참조하십시오.플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
컨텍스트를 재설정한 파일 또는 디렉터리에 대한 SELinux 컨텍스트를 표시합니다. 예를 들어
/var/www/디렉터리에 컨텍스트를 표시하려면 다음을 입력합니다.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/Copy to Clipboard Copied! Toggle word wrap Toggle overflow