Прежде всего, user
устарел, вместо него следует использовать remote_user
.
Теперь ваш вопрос неясен. На самом деле есть 2 возможности:
- Вы хотите всегда подключаться как
{{ USER }}
и становиться (например, sudo
) user1
для конкретной задачи. - Вы хотите подключитьсякак
{{ USER }}
для всех задач, кроме конкретной задачи, к которой вы хотите подключиться, как user1
Первый сценарий, безусловно, самый распространенный. Пример, приведенный ниже, для простой иллюстрации, отладка на самом деле не будет become
чем-либо:
---
- name: my play
hosts: my_hosts
remote_user: my_deploy_user
tasks:
- name: normal task
debug:
msg: "normal"
- name: become root task
debug:
msg: "as root"
become: true
- name: become user1 task
debug:
msg: "as user1"
become: true
become_user: user1
Теперь, если вы действительно хотите подключиться как другой пользователь, это также возможно (при условии, что у вас правильная конфигурация /ключи для этого). Еще раз, пример для чистой иллюстрации:
- name: my_play
hosts: my_hosts
remote_user: "{{ USER }}"
tasks:
- name: task as usual
debug:
msg: "Usual task"
- name: task connected as user1
debug:
msg: "connect as user1
remote_user: user1