我想在没有 sudo 密码的情况下使用用户 sa1 运行 ansible:
第一次成功:
[root@centos1 cp]# ansible cent2 -m shell -a "sudo yum -y install httpd"
cent2 | SUCCESS | rc=0 >>
第二次失败:
[root@centos1 cp]# ansible cent2 -s -m yum -a "name=httpd state=absent"
cent2 | FAILED! => {
"changed": false,
"failed": true,
"module_stderr": "",
"module_stdout": "sudo: a password is required\r\n",
"msg": "MODULE FAILURE",
"parsed": false
}
请帮忙!
最佳答案
这是不可靠的,这是您服务器的配置。确保 ansible 用户在没有密码的情况下允许使用 sudo。
- 为此登录服务器
- 使用
sudo visudo
打开 sudoers 文件 - 确保你有这样一行:
centos ALL=(ALL) NOPASSWD:ALL
- 将
centos
替换为您的用户 - 保存文件
您可以通过运行从服务器本身尝试:
sudo -u [yourusername] sudo echo "success"
如果这可行,它也应该适用于 ansible。
关于linux - Ansible:没有密码的sudo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37434598/