O que é
Umask?
Umask pode ser definida como máscara de usuário. Esta função padroniza a criação de diretórios e arquivos, ou seja, quando você criar um novo diretório ou arquivo no Linux, ele herdará da Umask definida no sistema, suas devidas permissões.
A Umask padrão, em quase todas as distribuições do GNU/Linux, é 0022.
Até aí, ok. Ou mais ou menos, afinal, o Linux já definiu esta Umask, meus arquivos são criados com permissões especificas, porém, a grande questão é:
– Como chegamos a este resultado?
– Como o sistema realiza este cálculo?
Antes de tudo, precisamos entender como o Linux trata diretórios e arquivos (é, existe uma diferença).
Para o Linux, a permissão máxima para a criação de um diretório é:
→ 777 (rwx-rwx-rwx) (111-111-111)
Já para os arquivos, ele assume que a permissão máxima para criação de um novo arquivo, é:
→ 666 (rw-rw-rw-) (110-110-110)
O motivo de o Linux tratar os arquivos diferentemente dos diretórios, é que a permissão de Execução (–x) (001), quando aplicada a um arquivo, o torna executável; sendo assim, o Linux deixa isso por conta do administrador do sistema, para que esta permissão apenas seja aplicada a script, ou programas, ou serviços (daemons).
Já para um diretório, a permissão (–x) (001), representa você poder acessa-lo.
Essa parte é de grande importância para compreensão da Umask, na verdade, para realizar o calculo, já estamos quase lá. 🙂
Continue reading »