You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:02:58