如何通过ansible config

时间:2016-10-12 13:20:15

标签: linux ssh ansible ansible-playbook

我尝试配置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 选项?

1 个答案:

答案 0 :(得分:1)

您已告知Ansible sudosudo /bin/su,但就Ansible而言,它仍在使用支持sudo参数的-u。如果要使用其他命令进行权限提升,请考虑设置become_method

但是,不清楚为什么你不只是使用 sudo ,因为你似乎有sudo权限。可能设置sudo_exe = sudo sudo实际上会解决问题,因为第一个sudo会让您获得root访问权限(根据您的问题似乎工作得很好),然后root就可以了运行sudo -u ...,这应该可以正常工作。