Skip to content
Latchkey

O Que É um umask? Permissões Padrão para Novos Arquivos

Um umask é uma configuração que determina quais bits de permissão são removidos de arquivos e diretórios recém-criados por padrão.

Quando um programa cria um arquivo, ele solicita um conjunto de permissões, mas o umask mascara algumas delas. O umask é a razão pela qual um novo arquivo geralmente não é gravável por todos, mesmo que o programa que o criou tenha pedido permissões amplas. Em CI, o umask molda silenciosamente as permissões dos arquivos que seu build produz.

O que é um umask

O umask é uma configuração por processo que subtrai bits de permissão do modo que um programa solicita ao criar um arquivo. Um umask comum de 022 remove a permissão de escrita para grupo e outros.

Como a matemática funciona

Um arquivo é tipicamente solicitado com modo 666 e um diretório com 777. O umask é subtraído: com umask 022, arquivos ficam 644 e diretórios 755. O umask nunca adiciona permissões, apenas as remove.

Visualizando e definindo

  • umask sem argumentos imprime o valor atual.
  • umask 077 torna novos arquivos privados ao dono.
  • A mudança se aplica ao shell atual e seus filhos.

umask versus chmod

chmod altera as permissões de um arquivo existente; umask altera os padrões para arquivos ainda por criar. Eles trabalham juntos: o umask define a linha de base, o chmod ajusta arquivos individuais depois.

umask em CI

O umask do runner determina as permissões padrão de arquivos e artifacts gerados. Um umask surpreendentemente permissivo pode deixar segredos ou saídas mais abertos do que o pretendido, enquanto um estrito pode tornar arquivos compartilhados ilegíveis para uma etapa seguinte.

Padrões sensatos em runners gerenciados

Nos runners da Latchkey, o umask padrão dá permissões de arquivo razoáveis para saídas de build. Quando uma etapa escreve arquivos sensíveis, defina um umask mais restrito (como 077) ou faça chmod neles depois para mantê-los privados.

Principais conclusões

  • Um umask remove bits de permissão de arquivos recém-criados por padrão.
  • Com umask 022, novos arquivos ficam 644 e diretórios 755.
  • Em CI, o umask molda as permissões de arquivos e artifacts gerados.

Guias relacionados