Ansible副本没有正确设置文件模式

时间:2017-10-23 14:21:47

标签: file permissions ansible

我有一个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得到任何错误,文件模式也没有正确设置。

有人可以告诉我这里有什么问题吗?欢迎所有提示!

3 个答案:

答案 0 :(得分:8)

使用mode: 0644

0是必要的。

答案 1 :(得分:5)

您可以象征性地指定模式:

mode: u=rw,g=r,o=r

这更具可读性且不易出错。根据{{​​3}},Ansible> = 1.8支持符号模式。

答案 2 :(得分:0)

有两种定义模式的方法

第一:

mode: 0644

秒:

mode: '644'