【问题标题】:How to achieve sudo su - root and run all command in ansible如何实现 sudo su - root 并在 ansible 中运行所有命令
【发布时间】:2018-04-17 14:46:35
【问题描述】:

我们无法将 ansible playbook 连接切换到 root id。例如。 “sudo su -” 然后执行特权命令。请检查并建议正确的方法。它使用原始模块正常工作,但在剧本中失败

下面提到的命令在命令提示符下工作正常......如何通过剧本进行配置。

ansible 13.127.x.x -e "ansible_user=ec2-user" --private-key ~/Downloads/test.pem  -m shell -a "sudo su - root ; cd /data/xyz/ ; ./start-xyz.sh"   -vvvv

剧本示例

  - name: Start 18 Service
    shell: sudo su - root ; cd /data/xyz/ ; ./xyz.sh

【问题讨论】:

    标签: ansible


    【解决方案1】:

    您应该使用 become_user 以另一个用户身份运行脚本,并且 shell 使用 chdir 支持更改文件夹

    如:

      - name: Start 18 Service
        hosts: yourhost
        become: true
        become_user: root 
        shell: "./xyz.sh"
        args:
          chdir: /data/xyz/
    

    【讨论】:

      最近更新 更多