当在远程主机上使用 Ansible 运行 Systemd 任务时,可能会发生问题。如果 Ansible 不能在远程主机上成功运行 Systemd 任务,则需要检查Ansible用户是否具有执行 Systemd 系统服务所需的 sudo 权限。
在远程主机上可以使用 visudo 命令编辑 sudoers 文件,添加如下行:
ansible_user ALL=NOPASSWD: /bin/systemctl start servicename ansible_user ALL=NOPASSWD: /bin/systemctl stop servicename
将上面的代码中的 ansible_user 替换为你在远程主机上使用的用户名,servicename 替换为你要启动或停止的服务名称。
确保使用用户名而不是组名,并替换要启动或停止的实际服务名称。这将授予 Ansible 用户并允许其启动和停止指定的服务。
编辑 /etc/sudoers 文件时,请确保使用 visudo 命令,因为这将检查文件更改是否有效,并避免在 sudoers 文件中出现语法问题。
下一篇:Ansible:条件性注册检查