Ansible剧本仅与root用户一起使用,与其他sudo用户一起运行时失败

时间:2019-02-22 13:37:57

标签: ansible ansible-2.x ansible-inventory ansible-facts

我在测试环境中有一本可以正常工作的剧本,我的用户是rootle的rootlef用户,没有任何问题。 当我将剧本移至暂存环境时,我的登录用户帐户是sudo用户“ admin”。但是我所有的剧本都在这种环境下失败了。

---

- name: Replace the silent-install-server_ file to each Application Servers
  hosts: localhost,CCM,RM
  vars: 
    jts_file: /etc/ansible/roles/IBM2/files/silent-install-server_JTS.xml
    ccm_file: /etc/ansible/roles/IBM2/files/silent-install-server_CCM.xml
    rm_file: /etc/ansible/roles/IBM2/files/silent-install-server_RM.xml
    dest_dir: /opt/CLM-Web-Installer-Linux-6.0.5/im/linux.gtk.x86_64
  tasks:
    - name: check the folder existance
      stat: path=/opt/CLM-Web-Installer-Linux-6.0.5/im/linux.gtk.x86_64
      register: folder_exist

    - name: JTS Server
      copy:
        src: "{{ jts_file }}"
        dest: "{{ dest_dir }}/"
        mode: 777
        backup: yes
      delegate_to: localhost
      when: folder_exist.stat.exists == True

    - name: CCM Server
      copy:
        src: "{{ ccm_file }}"
        dest: "{{ dest_dir }}/"
        mode: 777
        backup: yes
      delegate_to: 10.16.24.102`enter code here`
      when: folder_exist.stat.exists == True

    - name: RM Server
      copy:
        src: "{{ rm_file }}"
        dest: "{{ dest_dir }}/"
        mode: 777
        backup: yes
      delegate_to: 10.16.24.103
      when: folder_exist.stat.exists == True

得到以下错误。

PLAY [Replace the silent-install-server_ file to each Application Servers] **********************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************
ok: [localhost]
fatal: [10.16.24.102]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}
fatal: [10.165.240.103]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}

TASK [check the folder existance] ***************************************************************************************************************************
ok: [localhost]

TASK [JTS Server] *******************************************************************************************************************************************
ok: [localhost -> localhost]

TASK [CCM Server] *******************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "Failed to get information on remote file (/opt/CLM-Web-Installer-Linux-6.0.5/im/linux.gtk.x86_64/silent-install-server_CCM.xml): Shared connection to 10.16.24.102 closed.\r\n"}
        to retry, use: --limit @/etc/ansible/roles/IBM2/tasks/best/silentiInstallerfile.retry

PLAY RECAP **************************************************************************************************************************************************
10.16.24.102             : ok=0    changed=0    unreachable=0    failed=1
10.16.24.103             : ok=0    changed=0    unreachable=0    failed=1
localhost                  : ok=3    changed=0    unreachable=0    failed=1

我的主机文件如下

[IHS]
10.16.24.100
[JTS]
10.16.24.101
[CCM]
10.16.24.102
[RM]
10.16.24.103

3 个答案:

答案 0 :(得分:3)

确保admin@10.16.24.102和admin@10.165.240.103能够“ sudo su ”。

  

致命:[10.16.24.102]:失败! => {“ msg”:“超时(12s)等待特权升级提示:”}

     

致命:[10.165.240.103]:失败! => {“ msg”:“超时(12s)等待特权升级提示:”}

答案 1 :(得分:2)

如果您不是以root身份运行,则需要告诉ansible成为root

成为:是

这可以按游戏,清单中的主机或单个任务完成

答案 2 :(得分:2)

我建议不使用密码进行admin@10.16.24.102和admin@10.165.240.103 sudo访问:

您可以添加到/ etc / sudoers文件:

admin ALL=(ALL:ALL) NOPASSWD:ALL