Ansible副本未正确设置文件模式

kra*_*r65 6 permissions file 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/*
Run Code Online (Sandbox Code Playgroud)

在我的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
Run Code Online (Sandbox Code Playgroud)

但即使我没有从Ansible得到错误,文件模式也没有正确设置.

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

Jac*_*ack 8

使用 mode: 0644

0是必要的.


Ren*_*ijl 5

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

mode: u=rw,g=r,o=r
Run Code Online (Sandbox Code Playgroud)

这更具可读性且不易出错.根据文档,Ansible> = 1.8支持符号模式.