UMASK LINUX: Entenda como calcular

O Umask é de longe um dos conceitos que mais confundem os estudantes das certificações LPI, ou mesmo quem está apenas aprendendo Linux, e de fato, não é algo muito intuitivo. Sendo assim, preparei este artigo para falarmos do UMASK LINUX: Entenda como calcular.

É interessante que você já tenha entendido como funcionam as permissões de usuários, grupos e outros, bem como os termos de leitura, escrita e execução (tanto na forma octal, quanto na forma descritiva).

No vídeo abaixo eu explico sobre o UMASK, caso você não goste de ler muito ou não entenda algo:

O que é UMASK?

Essencialmente, o Umask é um comando que podemos executar para definir a permissão padrão de criação de arquivos e diretórios. Além disso, podemos também definir isto em um arquivo de texto que será aplicado mesmo após reiniciar o equipamento.

Primeiramente, para a realização deste cálculo, sempre usaremos desta forma:

  • Sempre que partirmos de arquivos, utilizaremos o número 666.
  • Sempre que partirmos de diretórios, utilizaremos o número 777.

Exemplo 1

Acredito que a melhor forma de ensinar isso para você é com exemplos práticos, então imagine o caso onde eu quero que todos os arquivos que criarmos daqui para frente, comecem sempre com a permisão 640 (rw-r—–).

Desta forma, devemos apenas subtrair o valor de 666 que falei na seção anterior.

666 – 640 = 026.

Então, o número 0026 seria o umask neste caso.

OBS: Adicionamos um zero a mais na frente por conta das permissões especiais.

Exemplo 2

Não entendeu? Então, vamos para o segundo exemplo. Quero que meus arquivos comecem com a permissão 220 (-w–w—-). Neste caso, fazemos o seguinte cálculo:

666 – 220 = 446.

Logo, o umask será 0446.

Fácil, não é mesmo? Posteriormente, se quisermos configurar um diretório, fazemos o mesmo processo utilizando o número 777.

Exemplo 3

Agora, vejamos a parte de diretórios. Quero que os diretórios comecem sempre com a permissão 755 (rwx-r-xr-x).

777 – 755 = 022.

Logo, o umask será 0022.

OBS: O MESMO valor de umask será usado para arquivos e para diretórios, e é aqui que muitas vezes nos confundimos. NÃO podemos definir dois valor diferentes (um para diretórios e um para arquivos).

Exemplo 4

Vejamos outro exemplo. Se configurarmos o umask 0026, teremos o seguinte resultado para permissão de arquivos.

666 – 026 = 640.

Entretanto, este mesmo umask para diretórios pode complicar um pouco, vejamos o porque.

777 – 026 = 751.

Aquele número 1 no final está dando permissão de execução para outros, o que é uma falha de segurança. E, como podemos resolver? Utilizando um 7 ao invés do 6.

777 – 027 = 750.

Agora sim! Mas, peraí, e os arquivos? Como vou subtrair 7 de 6? Não precisa, basta considerar como 0!

666 – 027 = 640.

Temos o mesmo resultado!

Vamos ver na prática agora.

  • $ umask

Com este comando, listamos o umask default.

Para alterar, basta rodar o seguinte comando.

  • $ umask 0027

Crie diretórios e arquivos e veja suas permissões.

  • $ ls -l
UMASK LINUX: Entenda como calcular
UMASK LINUX: Entenda como calcular

Vamos usar a lógica.

777 – 027 = 750 = rwx-r-x—- = Tudo ok!

666 – 027 = 640 = rw-r—– = Tudo ok!

Espero que tenham gostado desta dica!

Não esqueça de nos seguir no Instagram para receber os últimos conteúdos!

Participe dos nossos grupos no Telegram e Facebook!  🙂

Veja também:

Se tiver alguma dúvida ou sugestão de conteúdo, por favor, entre em contato aqui ou comente abaixo!