Ember build 对某些文件添加读取权限,但对其他文件不添加

Ember build adds read permission to some files but not others

在我的 Ember.js 项目中,我有以下文件:

public/img/pixels.png 0640
public/img/vector.svg 0640

我正在 Docker nginx 容器中部署它。 COPY' 的文件自动属于 root。 Nginx 使用用户 nginx.

读取文件

在 Docker 容器中执行 ember build -prod 后,我有以下文件:

img/pixels-d72816e93259890d380ddf05acb748e7.png 0644
img/vector.svg 0640

请注意散列文件如何自动从 0640 更改为 0644 以使其可读。然而另一个不是。已复制,但不可读。

在此 Ember 应用程序中,所有对 pixels.png 的引用都可以正常工作,但对 vector.svg 的引用会导致图像不可用。

  1. 是什么原因导致 Ember 为某些人添加读取位,而不是其他人?
  2. 如何强制 Ember 为它从 public 复制的所有文件设置 a+r 权限?
  3. Ember 应该自动执行此操作吗? (例如,这是一个错误吗?)

正如您在此处提问后的 issue created in Ember CLI repository 中所讨论的,这些文件最终具有不同的权限应该被视为一个错误。我建议在构建 ember.js 应用程序 (ember build -prod) 后的另一个步骤中规范权限,例如RUN chmod -R 0644 /usr/share/nginx/html.