Ansible с "sudo su -" - PullRequest
       3

Ansible с "sudo su -"

0 голосов
/ 05 марта 2020

(Есть уже несколько вопросов по этому поводу, но решение для меня не сработало)

На серверах, на которых я работаю, мы должны "sudo su - webapps" и затем запускать наши команды как webapps. Ansible не предоставляет собственный способ сделать это, я думаю (sudo доступен только, но системные администраторы ограничивают список команд, с которыми я могу его запустить, su доступен с Ansible, но не работает сам по себе на серверах ).

Я пробовал https://www.coveros.com/ansible-privledge-escalation-using-sudo-su/

[privilege_escalation]
become_exe=sudo su -

С playbook:

---
- hosts:
    - test
  become: yes
  become_user: webapps
  become_method: su
  tasks:
  - name: Updates file
    copy:
      src: a.txt
      dest: dest/a.txt

Запуск дает:

S SH: EXE C s sh -vvv - C -o ControlMaster = авто -o ControlPersist = 60 с -o KbdInteractiveAuthentication = нет -o PreferredAuthentications = gssapi-with-mi c, gssapi-keyex, на базе хоста, publickey -o PasswordAuthentication = no -o 'User = "myUser"' -o ConnectTimeout = 10 -o ControlPath = / Users / lmoreau / .ansible / cp / d895b40f7e -tt myServer '/ bin / sh - c '"'" 'sudo su - webapps - c' "'"' "'"' "'"' "'"' / bin / sh - c '"' «"»«"» «"»«"» «"»«"» «"»«"» «"»«"» «"»«"» «"»«"» «"»«"» "" echo BECOME-SUCCESS-nxilvumwmfikgyuisutwiwobidrgqpao; / usr / bin / python /var/tmp/ansible-tmp-1583355901.6967812-200466745901442/AnsiballZ_setup.py '"'" '"'" '"" "" "" "" "" "" "" "" " '"'" '"'" '"'" '"'" '"'" '"'" '"' '"' "'"' "" "" "" "" && sleep 0 '"' "''

...

" msg ":" Тайм-аут (12 с) ожидания запроса на повышение привилегий: \ r \ nМы уверены, что вы получили обычную лекцию из локальной системы \ r \ nАдминистратор. Обычно это сводится к следующим трем вещам: \ r \ n \ r \ n # 1) Уважать конфиденциальность других. \ r \ n # 2) Подумайте, прежде чем печатать. \ r \ n # 3) С большим власть приходит с большой ответственностью. \ r \ n \ r \ n "

Альтернативная попытка с помощью:

[privilege_escalation]
become_exe=’sudo su - ‘

" module_stdout ":" / bin / sh : 'sudo: команда не найдена \ r \ n "," msg ":" СБОЙ МОДУЛЯ \ nСмотрите stdout / stderr для точной ошибки ",

Без переопределения становления_exe:

  • Метод "su" выдает "Время ожидания (12 с) ожидания запроса на повышение привилегий:"

  • Метод "sudo" выдает "msg": "Отсутствует пароль sudo"

Примечание: I У меня нет пароля учетной записи, которой я хочу стать, и я не должен ее иметь.

Как я могу сделать то же, что я делаю вручную с Ansible?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...