플레이북을 실행하려고 하는데 플레이북 작업 중 일부가 방화벽 포트를 추가하는 것입니다. 이를 수행하는 가장 좋은 방법은 무엇입니까? 내 모듈에서 다음 오류가 발생합니다 lineinfile
.
- name: Ensure specific port configuration in firewalld`
ansible.builtin.lineinfile:`
path: /etc/firewalld/zones/drop.xml
insertbefore: '^<accept/>'
line: '<port port= "6556" protocol="tcp"/>'
backrefs: yes
state: present
become: yes`
시도한 것: ansible.posix.firewalld를 사용해 보았지만 Python 버전으로 인해 작동하지 않았습니다.
답변1
노력하다:
sudo -u [user] ansible-playbook [playbook name] --ask-become-pass
sudo 권한을 사용하여 [user]로 ansible 플레이북을 실행하고 해당 사용자의 패스를 요청합니다.
--ask 플래그는 _password_file=/path/to/file이 되는 것과 같은 몇 가지 추가 옵션을 사용하여 ansible.cfg에 영구적으로 추가될 수 있습니다.
Graceful이 언급한 것처럼 플레이북 소유자에게 방화벽 구성을 수정할 수 있는 올바른 권한이 없을 수도 있습니다. 모범 사례는 특정 사용자에게 액세스 권한을 부여하는 대신 sudo를 사용하여 방화벽 명령을 실행하는 것입니다.