O que é umask?

umask (máscara de modo de criação de arquivo do usuário) é uma configuração do Linux e Unix que controla as permissões padrão atribuídas a arquivos e diretórios recém-criados. Em vez de definir permissões diretamente, o umask define quais bits de permissão devem ser removidos dos padrões do sistema quando um novo arquivo ou diretório é criado.

O sistema começa com uma permissão base de 666 (leitura e escrita para todos) para arquivos e 777 (leitura, escrita e execução para todos) para diretórios. O umask é então subtraído bit a bit desses padrões usando uma operação lógica AND-NOT, produzindo as permissões finais. Por exemplo, com um umask de 022, novos arquivos terminam com 644 e novos diretórios com 755.

Cada dígito do umask corresponde a uma classe de permissão: o primeiro dígito afeta o proprietário, o segundo o grupo e o terceiro outros. Um dígito de 0 significa que nenhuma permissão é mascarada, enquanto 7 remove todas as permissões para essa classe.

Descrição da ferramenta

A Calculadora de umask do Linux converte um valor de umask e uma permissão base nas permissões efetivas resultantes em notação octal e simbólica. Ela também gera o comando shell umask exato, ajudando administradores de sistema, desenvolvedores e engenheiros de DevOps a visualizar o resultado de qualquer umask antes de aplicá-lo a um shell, script ou configuração de sistema.

Exemplos

Umask Base Octal Resultante Simbólica
022 666 644 rw-r--r--
022 777 755 rwxr-xr-x
077 666 600 rw-------
027 777 750 rwxr-x---
002 666 664 rw-rw-r--

Recursos

  • Calcula permissões octal e simbólica resultantes de qualquer umask
  • Suporta valores de umask com 3 dígitos e 4 dígitos (com bit sticky/setuid inicial)
  • Predefinições de umask comuns (022, 027, 077, 002, 007, 000)
  • Predefinições de permissão base para arquivos (666) e diretórios (777)
  • Gera o comando shell umask pronto para usar

Casos de uso

  • Endurecimento de servidor: Visualize um umask mais restritivo como 077 antes de adicioná-lo a /etc/profile ou à configuração de shell de um usuário para garantir que novos arquivos sejam privados.
  • Ambientes de desenvolvimento compartilhado: Verifique se 002 ou 007 produz arquivos graváveis por grupo para diretórios de projetos colaborativos.
  • Scripts de implantação: Confirme que o umask usado em pipelines CI/CD ou pontos de entrada de contêiner produzirá as permissões de arquivo esperadas para logs de aplicação e ativos enviados.

Como funciona

A permissão final é calculada para cada classe (proprietário, grupo, outros) usando a fórmula:

final = base AND (NOT umask)

Cada dígito octal é processado independentemente. Para um dígito de umask de 2 (binário 010) e um dígito base de 6 (binário 110), o resultado é 110 AND NOT 010 = 100, que é igual a 4 (somente leitura). O dígito inicial de um umask de 4 dígitos controla bits especiais (setuid, setgid, sticky) e é ignorado no cálculo de permissão padrão.

Dicas

  • Use 666 como base para ver permissões de novos arquivos e 777 para novos diretórios.
  • Um umask de 000 significa que nenhuma permissão é removida — útil apenas em ambientes isolados e rigidamente controlados.
  • Para tornar o umask permanente, adicione o comando gerado a ~/.bashrc, ~/.profile ou /etc/profile dependendo do escopo desejado.