8.4. RHEL 시스템 역할을 사용하여 사용자 지정 sudoers 구성 적용
sudo
RHEL 시스템 역할을 사용하여 관리 노드에 사용자 지정 sudoers
구성을 적용할 수 있습니다. 이렇게 하면 구성 효율성을 개선하고 보다 세분화된 제어를 통해 어떤 호스트에서 어떤 명령을 실행할 수 있는지 정의할 수 있습니다.
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/playbook.yml
)을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북에 지정된 설정은 다음과 같습니다.
사용자
- 규칙이 적용되는 사용자 목록입니다.
호스트
-
규칙이 적용되는 호스트 목록입니다. 모든 호스트에 대해
모두
사용할 수 있습니다. 명령
규칙이 적용되는 명령 목록입니다. 모든 명령에는
모두
사용할 수 있습니다.플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.sudo/README.md
파일을 참조하십시오.
플레이북 구문을 확인합니다.
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.
Playbook을 실행합니다.
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
관리 노드에서 플레이북이 새 규칙을 적용했는지 확인합니다.
cat /etc/sudoers | tail -n1 <user_name> <host_name>= <path_to_command_binary>
# cat /etc/sudoers | tail -n1 <user_name> <host_name>= <path_to_command_binary>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow