Назад | Перейти на главную страницу

Повышение прав пользователя до root с помощью Ansible

Как поднять Ansible до root для запуска playbooks? Дело в том, что на сервере, который я хочу подготовить, отключен root-доступ, и единственный пользователь, имеющий доступ для входа, не имеет абсолютно никаких разрешений делать что-либо, кроме как обращаться к другим пользователям.

Поэтому, когда я вхожу на сервер вручную, я бы сделал что-то вроде этого - ssh lgus11@vdom7.intrn а затем, если мне нужно что-то установить, я бы сделал sudo - myuser или в некоторых редких случаях sudo - а затем введите пароль соответствующего пользователя.

К сожалению, если я запустил свой сборник игр Ansible, я не смогу поднять пользователя до уровня root.

У меня есть такая строчка в моем /etc/ansible/hosts файл:

[vault_server]
vdom7.intrn ansible_become=true ansible_become_user="root" ansible_become_password="<root_user_password>"

И результат, который я получаю от запуска playbook, выглядит следующим образом:

PLAY [vault_server] ********************************************************* 

GATHERING FACTS *************************************************************** 
fatal: [vdom7.intrn] => Incorrect become password

PLAY RECAP ******************************************************************** 
           to retry, use: --limit @/home/user/main.retry

vdom7.intrn                : ok=0    changed=0    unreachable=1    failed=0   

Я знаю ansible_become_password имеет какой-то эффект, потому что раньше я получал Missing become password из-за ошибки, но в то же время я знаю, что пароль, который я предоставляю, верен для пользователя, потому что, когда я использую его вручную, он работает как шарм, и поэтому я не совсем понимаю, что я делаю не так и как мне изменить playbook запустить пользователя.

become по умолчанию используется sudo (видеть become_method). Итак, вам нужно использовать пользователь пароль, как вы предоставили бы sudo, а не пароль root.

Или вы можете изменить become_method, например к su.