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 ****!
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
Vamos usar a lógica.
777 – 027 = 750 = rwxr-x— = Tudo ok!
666 – 027 = 640 = rw-r—– = Tudo ok!
Espero que tenham gostado desta dica!
Não esqueça de nos seguir noInstagrampara receber os últimos conteúdos!
Participe dos nossos grupos no Telegram e Facebook! 🙂