首页 文章

我如何通过ansible配置删除sudo选项字符串中的-u

提问于
浏览
-1

我尝试配置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 回答

  • 1

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

    但是,它不仅仅使用sudo,因为你似乎拥有sudo权限 . 可能设置 sudo_exe = sudo sudo 实际上会解决问题,因为第一个 sudo 会让你获得root权限(看起来根据你的问题工作得很好),然后 root 就可以运行 sudo -u ... ,这应该可以正常工作 .

相关问题