我尝试配置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 选项?
答案 0 :(得分:1)
您已告知Ansible sudo
为sudo /bin/su
,但就Ansible而言,它仍在使用支持sudo
参数的-u
。如果要使用其他命令进行权限提升,请考虑设置become_method。
但是,不清楚为什么你不只是使用 sudo ,因为你似乎有sudo权限。可能设置sudo_exe = sudo sudo
实际上会解决问题,因为第一个sudo
会让您获得root访问权限(根据您的问题似乎工作得很好),然后root
就可以了运行sudo -u ...
,这应该可以正常工作。