Как поднять 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
.