当我们通过ansible发出sudo请求时,ansible使用sudo的–p选项显示使用命令的自定义消息(每次ansible运行都会动态生成)
sudo -H -S -p "[sudo via ansible, key=vrioenmynjfokqgzjxywtayyaivnxspy] password: " <command Name>
这是通过-vvv
模式观察到的。
问题是我们遇到以下情况:默认的自定义sudo提示是固定的,无法使用sudo -p
选项覆盖(因为通过第三方工具Active Directory验证了sudo访问)。
例如:
sudo ls -l:
use Window's password:
如果我使用sudo -p
sudo -p 'Enter your password:' ls -l
use Window's password:
当ansible尝试执行sudo时,它会期望自定义提示,然后如果期望的自定义提示与抛出的自定义提示ansible匹配,则会发送密码,否则不会发送密码并导致错误(超时)
我的问题是有什么办法
sudo -H -S -p "[sudo via ansible, key=vrioenmynjfokqgzjxywtayyaivnxspy]
使用某些配置,可以在每次ansible运行中固定使用ansible中的-p
选项的自定义提示
答案 0 :(得分:0)
为任务,播放或清单中的内容设置ansible_become_exe
parameter。
例如:
- name: Check escalation
vars:
ansible_become: true
ansible_become_exe: 'sudo -p "[sudo via ansible, key=vrioenmynjfokqgzjxywtayyaivnxspy]"'
command: whoami