如何使用sudo -E运行单个ansible任务?

时间:2015-07-10 18:39:33

标签: ansible sudo ansible-playbook

我知道我可以用sudo运行playbooks和任务,但有没有办法用参数运行sudo?具体来说,我需要运行sudo -E <command>来保留登录用户的环境。

如果无法做到这一点,是否有良好的解决方法?

修改

两个澄清:

  1. 我正在尝试使用sudo -E来执行某些任务,而不是整个剧本
  2. 我正在尝试做的一个有点复杂的例子:我有一个ubuntu EC2实例,其中ubuntu用户在~/.ssh/config下配置了一些主机。我想将这些设置与ansible git模块一起使用,而不必将它们复制到/root/.ssh中,我想用它们来修改不属于ubuntu用户的目录。例如,对于拉动,直接在shell中执行此操作的一种方法是sudo -E git pull。一个理想的解决方案是让我(1)使用ansible git模块,(2)允许我sudo -E执行此任务,以及sudo没有-E标志用于其他任务。< / LI>

2 个答案:

答案 0 :(得分:0)

您应该可以通过ansible.cfg

中的sudo_flags参数执行此操作

答案 1 :(得分:0)

只需在任务级别使用become_flags

become_flags: '-i'