一尘不染

Ansible:没有密码的sudo

linux

我想用不带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
}

请帮忙!


阅读 284

收藏
2020-06-07

共1个答案

一尘不染

这不是您的服务器的配置。确保允许sudo的用户使用并且无需密码即可使用。

  1. 要登录到服务器
  2. 使用以下命令打开sudoers文件 sudo visudo
  3. 确保您有这样的一行: centos ALL=(ALL) NOPASSWD:ALL
  4. centos您的用户替换
  5. 保存文件

您可以通过运行以下命令从服务器本身进行尝试:

sudo -u [yourusername] sudo echo "success"

如果这可行,那么它也应该可以正常运行。

2020-06-07