Umask para leigos
Artigo visa a orientar novos usuários na correta utilização da Umask, realizando o cálculo binário das permissões. Sendo assim, minimizando um possível erro ao realizar este cálculo e aplica-lo a um ambiente de produção.
Introdução
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á. :)
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á. :)
Com esse, aprendi mais sobre permissões em forma decimal que eu não entendia direito mais agora clareou.
...