【报错!】关于ansible自动化出现FAILED!“msg”:“Missing sudo passwd”的报错问题

文章讲述了在使用Ansible进行部署时遇到的sudo权限问题,原因是远程用户没有sudo权限。解决方案是将具有sudo权限的用户配置复制给需要的用户,例如将90-cloud-init-users文件复制并改名为student,赋予student用户sudo权限,然后通过scp将其应用到其他被管理节点,从而解决Ansible操作的问题。
摘要由CSDN通过智能技术生成

目录

一、问题所在

二、解决方案


一 问题所在

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

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

[root@servera ~]# cd /etc/sudoers.d/
[root@servera 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
[root@servera 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,然后再测试一下:

 然后再ping

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

二 解决方案

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

[root@servera sudoers.d]# cp 90-cloud-init-users student
[root@servera 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
[root@servera sudoers.d]# 

再在控制节点上测试

 成功了

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

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

 ansible也成功了!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天亮之前_ict

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值