Я хочу выполнить некоторые действия, которые не требуют использования учетной записи администратора. Например, клонирование git-репо или создание папки.
Я пробовал это:
- name: Create gogo1 directory
win_shell: mkdir c:\tmp\gogo1
become: yes
become_user: vagrant
vars:
ansible_become_pass: vagrant
Это создает желаемый директой, но когда я захожу как пользователь vagrant и пытаюсь удалить его, я получаю:
Вам необходимо предоставить разрешение администратора для удаления этой папки.
Пользователю Vagrant не предоставлено никаких разрешений для папки gogo1.
Мне нужно сделать это дополнительно:
- name: Change owner of gogo1
win_owner:
path: c:\tmp\gogo1
user: vagrant
recurse: yes
Использование win_psexec
работает как задумано. Он создает каталог, дает пользователю vagrant разрешения, и поэтому я могу удалить его без запроса указанного выше сообщения.
- name: Create gogo2 directory
win_psexec:
command: cmd /k "cd c:\tmp && mkdir gogo && exit"
username: vagrant
password: vagrant
Как я могу использовать become
и become_user
для создания папки (или клонирования git-репо) и предоставления пользователю всех необходимых разрешений и прав владения (как win_psexec
делает?