了解ansible中的权限提升

时间:2017-05-19 10:00:50

标签: ansible

我是ansible的新手,我一直在玩特权升级,但如果我要将任务定义为

,我对它的运作方式有点困惑。
- name: Do something
  become: yes
  command: some command

我将以root用户身份登录时执行此任务,但如果我不希望这样做,并希望它在远程计算机上的行为类似 sudo some command ,同时仍以当前用户,就像这样写出来一样简单

- name: Do something
  become: yes
  become_method: sudo
  command: some command

或者我必须使用上面的行 become_user:{{ansible_user}}

1 个答案:

答案 0 :(得分:1)

Ansible始终以remote_user身份登录目标ssh服务器 如果您使用become: yes Ansible调用sudo(或其他权限提升工具)以become_user运行命令。

如果您使用-vvv详细程度执行Ansible,您将看到它完全符合您的要求:以当前用户身份登录,然后sudo command

唯一的问题是Ansible使用python-wrappers执行命令,如果你需要在没有任何包装器的情况下执行sudo some command,你可以使用:

- name: Do something
  become: yes
  raw: some command