【问题标题】:How to specify become password for tasks delegated to localhost如何为委派给本地主机的任务指定成为密码
【发布时间】:2020-02-27 06:10:02
【问题描述】:

我有一本针对特定主机的剧本。但是我需要在本地执行的任务很少,所以我对这些任务使用“delegate_to”。一些本地委派的任务需要 sudo 权限,所以我使用“成为:是”并通过命令行传递 --ask-become-pass 并且它工作正常。 但是现在当我在 ansible Tower 上创建了一个作业时,我如何设法为运行该作业的用户(我猜是 awx 用户)提供成为密码???

【问题讨论】:

    标签: ansible ansible-template ansible-tower


    【解决方案1】:

    您需要设置特殊变量ansible_become_password,如https://docs.ansible.com/ansible/latest/user_guide/become.html#become-connection-variables 所述。

    因为您将密码存储为剧本的变量,您会注意到他们建议使用 Ansible Vault 加密密码以避免存储明文密码。

    假设您将代码/剧本存储在 git 中,有几个选项需要考虑:

    1. 将 Vault 密码存储在文件中
    2. 更新 .gitignore 以忽略保险柜密码文件
    3. 更新ansible.cfg 以设置默认保险柜密码文件(示例如下)
    [defaults]
    vault_password_file = .vault_password
    

    我缺乏使用 Ansible Tower 的经验,但成功地使用了 Rundeck。希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      在创建凭据时,您可以在 TOwer 中选择使用 sudo 用户名。

      1. PRIVILEGE ESCALATION USERNAME --- 在此处提及您的用户名
      2. PRIVILEGE ESCALATION PASSWORD --- 您可以在此处提及您的密码或选择“启动时提示”,运行模板时会出现输入密码的选项。

      Please check this screen shot

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 1970-01-01
        • 2018-08-17
        • 1970-01-01
        • 2017-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        相关资源
        最近更新 更多