我想使用下面的Ansible脚本将workspace3文件夹移动到/ usr / share目录。但是我无法移动它。
- name: Move workspace3 directory to /usr/share/ Folder
command: mv /tmp/workspace3/ /usr/share
我也试过shell模块
shell: mv /tmp/workspace3 /usr/share
我认为这是一个许可问题,如何通过ansible定义权限?
答案 0 :(得分:4)
/ usr / share是root用户拥有的目录。要在此目录中创建文件夹(或移动文件夹),必须使用特权升级。使用ansible非常简单,只需在剧本中使用以下内容即可;
become: yes
确保在运行Playbook时使用-K标志,该标志将询问您sudo密码,假设您没有在sudoers文件中为该用户配置NOPASSWD。 “成为”使用的默认用户是root。
答案 1 :(得分:2)
在2.0版中,使用带有 remote_src 参数的复制模块。
- name: Move workspace3 directory to /usr/share/ Folder
become: yes
copy:
remote_src: yes
src: /tmp/workspace3
dest: /usr/share/
如果要移动文件,则需要删除带文件模块的旧文件
- name: Remove old files foo
file:
path: /tmp/workspace3
state: absent
希望能帮助你。