我正在尝试运行剧本,剧本工作的一部分是添加防火墙端口。做这个的最好方式是什么?我的模块出现此错误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 playbook 并请求该用户的变为通行证。
--ask 标志可以永久附加到 ansible.cfg 上,并带有一些其他选项,例如变成_password_file=/path/to/file。
正如 Graceful 所提到的,剧本的所有者可能没有正确的权限来修改firewalld配置。最佳实践是使用 sudo 运行防火墙命令,而不是授予特定用户访问权限。