Como definir o valor de umask para um contêiner?
Sintoma
Um contêiner é iniciado no modo tailf /dev/null e a permissão de diretório é 700 depois que o script de inicialização é executado manualmente. Se o contêiner for iniciado pelo próprio Kubernetes sem tailf, a permissão de diretório obtida será 751.
Solução
A razão é que os valores de umask definidos nos dois modos de inicialização anteriores são diferentes. Portanto, as permissões nos diretórios criados são diferentes.
O valor de umask é usado para definir a permissão padrão para um arquivo ou diretório recém-criado. Se o valor de umask for muito pequeno, os usuários do grupo ou outros usuários terão permissões excessivas, representando ameaças de segurança ao sistema. Portanto, o valor de umask padrão para todos os usuários é definido como 0077. Ou seja, a permissão padrão em diretórios criados por usuários é 700, e a permissão padrão em arquivos é 600.
Você pode adicionar o seguinte conteúdo ao script de inicialização para definir a permissão no diretório criado como 700:
- 1. Adicione umask 0077 ao arquivo /etc/bashrc e a todos os arquivos em /etc/profile.d/.
- Execute o seguinte comando:
echo "umask 0077" >> $FILE
FILE indica o nome do arquivo, por exemplo, echo "umask 0077" >> /etc/bashrc.
- Defina o proprietário e o grupo do arquivo /etc/bashrc e todos os arquivos em /etc/profile.d/ como root.
- Execute o seguinte comando:
chown root.root $FILE