Проблема с подсказкой Ansible для повышения привилегий
---
- 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 для splunk. Вот список sudo для учетной записи pppruser
$sudo -l
User pppruser may run the following commands on this host:
(root) /bin/su - splunk
$sudo su - splunk
Может ли кто-нибудь предложить мне, где мне нужно изменить конфигурацию, чтобы без проблем запустить выполнение моей книги в качестве пользователя splunk.
2 ответа
Вы можете посмотреть здесь описание этой ссылки
- 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
Добавление ниже привилегий sudo в мою целевую службу устранило эту проблему.
pppruser ALL=(корень) /bin/su - splunk pppruser ALL=(splunk) /bin/sh