|
|||||||
Как в Ansible переключиться на другого пользователя
Время создания: 24.04.2023 13:54
Текстовые метки: linux, ansible, пользователь, user, root, become, переключиться, выполнить
Раздел: Компьютер - Linux - Оркестрация - Ansible
Запись: xintrea/mytetra_syncro/master/base/16823336711eth4ishmz/text.html на raw.github.com
|
|||||||
|
|||||||
По-умолчанию, Ansible сконфигурирован так, что плейбуки выполняются на удаленных машинах под суперпользователем (root). Однако часто возникает задача переключиться на другого пользователя, и выполнить действия от его имени. При этом возможно появление следующей ошибки: Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user (rc: 1, err: chown: неверный пользователь: «user»\n}). For information on working around this, see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user Как обойти эту проблему? Во-первых, надо на удаленной машине установить пакет acl. Во-вторых надо убедиться, что на удаленной машине прописан SSH-ключ того пользователя, на которого происходит переключение. (Данное требование весьма спорно, по логике вещей достаточно просто доступа под root). В-третьих, если ошибка сохраняется, надо на уровне плейбука прописать следующую переменную: var: allow_world_readable_tmpfiles: true Код работающего плейбука, который делает правильное переключение на пользователя user, порказан ниже: --- - hosts: ourServer become: true become_user: user vars: allow_world_readable_tmpfiles: true tasks: - name: Запрос под каким пользователем выполняется плейбук shell: "whoami" register: result
- name: Под каким пользователем выполняется плейбук debug: msg: "{{ result.stdout_lines }}" Данный плейбук был проверен и успешно работает на Ansible версии 2.9.16. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|