我有一个Ansible脚本,其中许多内容将一些文件复制到服务器:
- name: copy vhost basic files to folder
copy:
src: "{{ item }}"
dest: /var/www/vhosts/mmpew/
mode: 664
owner: "{{ deploy_user }}"
group: "{{ deploy_user }}"
with_fileglob:
- ../files/vhost/*
我的Macbook本地文件具有权限-rw-r--r--
,但即使我将ansible脚本中的模式设置为664,服务器上的结果文件也具有-r-----rwt
的权限。
为什么哦为什么服务器上的结果文件与ansible脚本中设置的模式不匹配,或者来自我的本地文件系统的原始权限是什么?
我甚至尝试使用Ansible文件模块正确设置模式:
- name: Make sure the files I just uploaded are chmodded correctly
file:
path: /var/www/vhosts/mmpew/{{ item }}
mode: 644
with_items:
- the.txt
- files.php
- here.py
但即使我没有从Ansible得到任何错误,文件模式也没有正确设置。
有人可以告诉我这里有什么问题吗?欢迎所有提示!
答案 0 :(得分:8)
使用mode: 0644
0
是必要的。
答案 1 :(得分:5)
您可以象征性地指定模式:
mode: u=rw,g=r,o=r
这更具可读性且不易出错。根据{{3}},Ansible> = 1.8支持符号模式。
答案 2 :(得分:0)
有两种定义模式的方法
第一:
mode: 0644
秒:
mode: '644'