使用Ansible的become_user切换至无密码且配置NOPASSWD:ALL的用户时提示'Missing sudo password'问题求助
使用Ansible的become_user切换至无密码且配置NOPASSWD:ALL的用户时提示'Missing sudo password'问题求助
各位大佬好,我最近在Ansible里遇到了个棘手的问题,折腾半天没搞定,想过来请教下大家。
情况是这样的:我想在剧本里用become和become_user切换到目标机器上的ansible账号,但每次运行都会报错"Missing sudo password",可这个账号明明已经配置了无密码sudo啊...
先跟大家说下具体的环境和配置:
- 我是用
bob账号SSH登录目标Ubuntu服务器的,这个账号是系统安装时创建的主用户 - 要切换的
ansible账号,已经在/etc/sudoers.d/90-cloud-init-users里加了这条配置:ansible ALL=(ALL) NOPASSWD:ALL - 而且
ansible账号本身是无密码的,看/etc/shadow里的记录是ansible:!:19983:0:99999:7:::,平时我用SSH密钥就能直接登录这个账号
我的剧本内容很简单,就是:
- hosts: nas become: true become_user: ansible roles: # 这里是后续要执行的角色,目前先保留这个结构
但每次运行这个剧本,都会弹出这个错误:
fatal: [XXX]: FAILED! => {"msg": "Missing sudo password"}
我也试了各种办法:比如用-K选项,运行时留空密码;还有其他指定密码的方式,结果都不管用,还是报同样的错。
明明ansible账号已经配置了NOPASSWD:ALL,本身也没密码,为啥Ansible还会提示缺少sudo密码呢?有没有大佬能帮我找找问题出在哪?
备注:内容来源于stack exchange,提问作者crkinard
相关产品推荐
相关产品推荐

