是否可以为Docker卷设置umask / chmod值?

时间:2018-11-26 07:35:30

标签: docker docker-compose dockerfile

在我的容器内,我已将umask值设置为 027 ,因此,每当我创建新文件时,它都占用u=rwx g=rx- o=---,但是当我在host内部创建文件时,它会从host中获取umask值。我该如何预防。我的意思是我该如何强制新文件采用容器内部而非主机设置的umask值。

version: "3.5"

services:

  php:
    container_name: ${PROJECT_NAME}
    build: ./docker/drupal-tools
    image: dbjpanda/drupal-tools
    restart: always
    working_dir: /var/www/${PROJECT_NAME}
    volumes:
      - drupal:/var/www/example.com
volumes:
  drupal:
    driver: local
    driver_opts:
      type: none
      device: $PWD/code/drupal
      o: bind

1 个答案:

答案 0 :(得分:1)

这是不可能的。容器和主机不仅具有不同的umask,而且每个 process 都有其自己的umask。因此, umask (1)或 umask (2)中的任何内容都不能表明某个进程随后无法将其自身的umask更改为更宽松的东西:它就是“很好的安全性或策略执行控制。