【问题标题】:How to use --ask-become-pass with ansible 1.9.4如何在 ansible 1.9.4 中使用 --ask-become-pass
【发布时间】:2018-03-13 22:14:13
【问题描述】:

我是 ansible 的新用户。我正在尝试使用权限提升功能将一行附加到 root 拥有的文件中。

以下文档告诉我可以使用 --ask-become-pass 和 become_user 来提示输入 become_user 密码,但我不知道如何使用它。

http://docs.ansible.com/ansible/become.html

我正在使用的当前代码如下:

- name: Add deploy to sudoers
        remote_user: me
        become: yes
        become_method: su
        ask_become_pass: true
        lineinfile:
          dest=/etc/somefile
          line=sometext
          regexp="^sometext"
          owner=root
          state=present
          insertafter=EOF
          create=True

这给了我错误: 错误:ask_become_pass 不是 Ansible 任务或处理程序中的合法参数

谁能告诉我我在这里可能做错了什么?

提前致谢。

【问题讨论】:

    标签: ansible ansible-playbook


    【解决方案1】:

    文档说ask_become_pass 是一个命令行参数。这意味着您必须在执行剧本时使用它:

    ansible-playbook *playbook-name* --ask-become-pass
    在这种情况下,ansible 会要求输入密码。

    另一个选项ansible_become_pass 可以在库存中使用,也可以用作extra_var。在那里您可以在执行 playbook 时设置密码。

    【讨论】:

    • 感谢@Capri90 的回答。您的示例与您解释的完全一样。不幸的是,我仍然收到权限被拒绝错误。看来 become_user 重新建立了一个 ssh 连接作为我想成为的用户。由于我想在远程系统(Ubuntu)上 su 以 root,这是不可能的。我如何在不重新建立 ssh 连接的情况下 su 到 root?这甚至可能吗?最终结果是我想要的是在没有密码提示的情况下给予用户管理员权限。相当于用户名 ALL=(ALL) NOPASSWD:ALL 我还没有找到成功的方法。
    • 不客气。 Ubuntu 确实允许通过 ssh 进行 root 访问。只需更改设置。否则我不确定您是要创建用户(为此使用 ansible 模块)还是更改现有用户。
    【解决方案2】:

    @Capri90 展示了如何使用

    但是

    当使用--ask-become-pass 时,用户每次都需要手动输入密码,为了避免它遵循以下步骤

    改用下面的配置

    playbook.yml

    ---
    - hosts: yo_my_ips
      become: yes
      become_user: root
      tasks: 
      - name: Install latest version of "npm" 
        apt:
          name: npm
          state: latest
    

    ansible.cfg

    [defaults]
    inventory = yo_ansible_inventory.txt
    

    yo_ansible_inventory.txt

    注意ansible_become_pass 将在命令 sudo apt-get install npm 被触发时使用

    [all:vars]
    ansible_connection=ssh
    ansible_user=tom    
    ansible_become_pass=jerrypassword
    
    [yo_my_ips]
    192.168.1.105 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2018-10-19
      相关资源
      最近更新 更多