Ansible проблема с запросом на повышение привилегий - PullRequest
0 голосов
/ 12 февраля 2020
---
- name: Transfer and execute a script.
  hosts: jumpbox
  remote_user: pppruser
  any_errors_fatal: true
  gather_facts: no
  become: true
  become_method: su
  become_user: splunk
  become_flags: '-s /bin/sh'
  tasks:
     - name: Transfer the script
       copy: src=test.sh dest=/home/splunk/ mode=0777
     - name: Execute the script
       command: sh /export/home/splunk/test.sh
[splunk@ansible playbooks]$ cat test.sh
#!/bin/bash
cat /etc/passwd > /tmp/test

С приведенным выше сценарием main.yml и используемой ниже командой playbook

$ansible-playbook /etc/ansible/playbooks/main.yml --extra-vars "host=jumpbox" --ask-become-pass 
SUDO password:
PLAY [Transfer and execute a script.] **********************************************************************************
TASK [Transfer the script] *********************************************************************************************
fatal: [192.168.1.20]: FAILED! => {"msg": "Timeout (12s) waiting for privilege escalation prompt: "}
NO MORE HOSTS LEFT *****************************************************************************************************
        to retry, use: --limit @/etc/ansible/playbooks/main.retry
PLAY RECAP *********************************************************************************************************
192.168.1.20               : ok=0    changed=0    unreachable=0    failed=1

Сбой при ошибке. Я пробовал разные варианты и разные предложения на разных форумах. Но ничего не работает. На сервере назначения (192.168.1.20) у меня есть remote_user (pppruser) и служебная учетная запись (splunk). У pppruser есть привилегии sudo для порчи. Вот список sudo для учетной записи pppruser

$sudo -l
User pppruser may run the following commands on this host:
    (root) /bin/su - splunk
$sudo su - splunk

Может кто-нибудь подсказать мне, где мне нужно изменить конфигурацию, чтобы без проблем запустить выполнение playbook как разрозненного пользователя.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Добавление ниже привилегий sudo в моей целевой службе решило эту проблему.

pppruser ALL = (root) / bin / su - spunk pppruser ALL = (splunk) / bin / sh

0 голосов
/ 12 февраля 2020

вы можете посмотреть на это введите описание ссылки здесь

- name: Transfer and execute a script.
  hosts: jumpbox
  remote_user: pppruser
  any_errors_fatal: true
  gather_facts: no
  become: true
  become_user: splunk
  tasks:
     - name: Transfer the script
       copy: src=test.sh dest=/home/splunk/ mode=0777

     - name: Execute the script
       command: sh /export/home/splunk/test.sh
...