Alterar permissões para arquivos criados pelo serviço de daemon do docker

1

Estou tentando alterar as permissões padrão atribuídas aos arquivos quando criadas pelo daemon do docker alterando o padrão umask . O serviço do daemon do docker é executado como raiz e cria os arquivos com umask da raiz. Eu tentei alterar o umask adicionando um comando a /etc/init.d/docker e também passei o desejado umask(000) como uma opção para start-stop-daemon mas nenhum deles parece estar funcionando. Como posso alterar as permissões padrão atribuídas aos arquivos criados pelo daemon do docker?

Editar: Estou tentando definir as permissões padrão para arquivos e pastas criadas pelo daemon do docker no host e não dentro de um contêiner. Por exemplo, se uma pasta na máquina host, mapeada em um contêiner, não existir, a janela de encaixe cria automaticamente as pastas e atribui permissões com base na umask padrão (que é a raiz).

    
por dnivra 09.03.2016 / 10:48

1 resposta

0

Contêineres do Docker normalmente e por design são executados no modo não privilegiado. Quando um processo em seu contêiner é executado como raiz, o processo uid de 0 é mapeado para o sistema operacional host como um usuário diferente (normalmente "nobody"). Isso, para que qualquer processo dentro do contêiner possa ler arquivos do sistema operacional host, esses arquivos devem ser legíveis por todo o mundo. Presumivelmente, (caveat emptor desde que eu não estou familiarizado com o código) Docker desconsidera as configurações de umask para garantir que o diretório criado através da opção -v é realmente legível pelo contêiner.

Não tenho tanta certeza sobre os arquivos criados no contêiner via btrfs ou overlayfs, se esses arquivos, que podem ser acessados pelo sistema operacional host, devem ser publicamente legíveis. Também não tenho certeza se a criação desses arquivos é tratada no contêiner ou no sistema operacional host.

    
por 11.03.2016 / 22:19