【发布时间】:2018-10-10 12:50:21
【问题描述】:
我想执行一些不需要使用管理员帐户的操作。例如,克隆 git repo 或创建文件夹。
我试过了:
- 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 所做的那样?
【问题讨论】:
标签: windows ansible file-permissions ansible-2.x