我尝试配置ansible以成为其他用户:
我的ansible.cfg条目
sudo_flags=
ssh_args = -t -t
sudo_exe = sudo /bin/su
我只能以一种方式升级远程主机上的特权(这在ssh会话中有效):
sudo / bin / su anyuser-
剧本范例:
---
- hosts: anyhosts
become: true
become_user: anyuser
tasks:
- name: check becoming anyuser
command: "ls -ltha"
当我运行简单的剧本时,在详细的日志输出中,我看到-u选项:
'“'”'sudo / bin / su -u anyuser-
我如何在Playbook或ansible.cfg中禁用/删除此-u选项?
最佳答案
您已经告诉Ansible sudo
是sudo /bin/su
,但是据Ansible知道它仍在使用sudo
,它支持-u
参数。如果要使用其他命令进行特权升级,请考虑设置become_method。
但是,由于您似乎拥有sudo权限,因此不清楚为什么不只使用sudo。可能设置sudo_exe = sudo sudo
实际上可以解决问题,因为第一个sudo
将使您具有root访问权限(根据您的问题,它似乎可以正常工作),然后root
可以运行sudo -u ...
,这应该工作得很好。
关于linux - 我如何通过ansible配置删除sudo选项字符串中的-u,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39999697/