天天看点

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

目录

一、问题所在

二、解决方案

一 问题所在

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

       在做ansible部署清单的时候出现这个问题,字面意思是,丢失了sudo的密码,后来才意识到,其实就是你进入被控制节点上的用户没有sudo功能,这个用户在你的配置文件ansible.conf中的remote_user=XXX中。

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

 表明我的被管理节点,比如是servera中的student没有sudo

[[email protected] ~]# cd /etc/sudoers.d/
[[email protected] sudoers.d]# ll -a
total 16
drwxr-x---.   2 root root   33 Jun 14  2021 .
drwxr-xr-x. 108 root root 8192 Jan  1 19:15 ..
-r--r-----.   1 root root  133 Jun 14  2021 90-cloud-init-users
[[email protected] sudoers.d]# cat 90-cloud-init-users 
# Created by cloud-init v. 20.3-10.el8_4.2 on Mon, 14 Jun 2021 07:38:25 +0000

# User rules for devops
devops ALL=(ALL) NOPASSWD:ALL
           

  我们进入/etc/sudoers.d这个目录下,找到90-cloud-init-users这个文件,这个文件最下面发现有一个devops用户。

咱们在ansible.cfg的文件中将remote_user改为devops,然后再测试一下:

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

 然后再ping

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

成功,所以刚才那个 /etc/sudoers.d/90-cloud-init-users文件就是dopovs的设置sudo的文件

二 解决方案

咱们就把被控制节点下的 /etc/sudoers.d/90-cloud-init-users文件拷贝一份,改个名字叫student

[[email protected] sudoers.d]# cp 90-cloud-init-users student
[[email protected] sudoers.d]# cat student 
# Created by cloud-init v. 20.3-10.el8_4.2 on Mon, 14 Jun 2021 07:38:25 +0000

# User rules for devops
student ALL=(ALL) NOPASSWD:ALL
[[email protected] sudoers.d]# 
           

再在控制节点上测试

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

 成功了

然后我们用scp的方式把这个文件scp到其它被控制节点

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

 这样其它节点的student也有了sudo功能

关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题一 问题所在二 解决方案

 ansible也成功了!!

继续阅读