Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2025-05-23 GMT+08:00

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. 1. Adicione umask 0077 ao arquivo /etc/bashrc e a todos os arquivos em /etc/profile.d/.
  2. Execute o seguinte comando:
    echo "umask 0077" >> $FILE

    FILE indica o nome do arquivo, por exemplo, echo "umask 0077" >> /etc/bashrc.

  3. Defina o proprietário e o grupo do arquivo /etc/bashrc e todos os arquivos em /etc/profile.d/ como root.
  4. Execute o seguinte comando:
    chown root.root $FILE