Ansible запрашивает пароль sudo из следующего кода, пытается создать нового пользователя postgres.
Сообщение об ошибке:
fatal: [xxx.xxx.xxx.xxx] => Missing sudo password
main.yml
- name: 'Provision a PostgreSQL server'
hosts: "dbservers"
sudo: yes
sudo_user: postgres
roles:
- postgres
create_db.yml
- name: Make sure the PostgreSQL users are present
postgresql_user: name=rails password=secret role_attr_flags=CREATEDB,NOSUPERUSER
sudo_user: postgres
sudo: yes
Удаленный_пользователь, который использовал для входа на этот компьютер, является пользователем не -root, у него нет пароля, и он может войти только с помощью ключа auth.
Для пользователя postgres эта учетная запись также не имеет пароля, поскольку база данных была только что установлена.
Поскольку я вошел в систему как не -root пользователь, конечно, он будет запрашивать пароль при переходе на postgress учетную запись для создания пользователя базы данных. Но пароль не понадобится, если вы переключитесь на postgres из учетной записи root. Итак, мне интересно, есть ли способ переключиться на root, а затем переключиться на пользователя postgres.
Примечание: учетная запись root не имеет открытого ключа, пароля и не может войти через SSH.