Calculando valores UMASK
Este artigo busca, com 2 regras simples, fazer os usuários de distribuições Linux, estudantes de concursos, exames LPI e etc a entenderem como calcular os valores UMASK de forma objetiva.
Introdução
Sou novo aqui e espero que se houver algum equívoco de minha parte, por favor, me corrijam!
O umask é um assunto que cai em exames de certificação Linux e concursos públicos para técnicos e analista de sistemas, além de ser útil para administradores de servidores em geral. Já procurei bastante sobre o assunto, mas as informações (sobre cálculos) que eu encontrava eram mais superficiais do que o artigo que escrevo. Assim resolvi criar 2 regras pra mostrar como podemos calcular a umask de arquivos e diretórios de forma simples e objetiva.
Antes de prosseguirmos aos cálculos, sugiro que pra quem não sabe o que é umask que leia antes o tópico 13.11 do link abaixo:
Também aconselho que esteja familiarizado com permissões no modo octal (você também encontra informações no link supracitado).
PS: O artigo trata apenas de valores de umask.
O umask é um assunto que cai em exames de certificação Linux e concursos públicos para técnicos e analista de sistemas, além de ser útil para administradores de servidores em geral. Já procurei bastante sobre o assunto, mas as informações (sobre cálculos) que eu encontrava eram mais superficiais do que o artigo que escrevo. Assim resolvi criar 2 regras pra mostrar como podemos calcular a umask de arquivos e diretórios de forma simples e objetiva.
Antes de prosseguirmos aos cálculos, sugiro que pra quem não sabe o que é umask que leia antes o tópico 13.11 do link abaixo:
Também aconselho que esteja familiarizado com permissões no modo octal (você também encontra informações no link supracitado).
PS: O artigo trata apenas de valores de umask.
Exemplo: quais as permissões de um arquivo criado se o umask for 007?
E um diretório?
Segundo esta tua dica: 777 - 007 = 770 o que não é verdade
Ou de outro lado: 666 - 007 = 66(-1) ???
Na verdade com este umask os diretorios serão criados com 770 e os arquivos com 660.
O VERDADEIRO cálculo de umask envolve operações binárias, no caso um Not e um AND sobre as permissões BASE.
Permissão BASE ARQUIVO: 666 TODAS as permissões, exceto de execução.
Permissão BASE DIRETORIO: 777 TODAS as permissões, inclusive execução, pois EXECUTAR um diretório significa poder entrar nele.
Umask 007
Arquivo : 666 AND (not 007) tudo em OCTAL
not 007 = 000 000 111 => 111 111 000
666 110 110 110
AND 111 111 000 (not 007)
RES 110 110 000 (660)
Arquivo tera 660 de permissao.
Diretorio: 777 AND (not 007) em OCTAL
111 111 111 (777)
111 111 000 (not 007)
111 111 000 (770)
Diretorio sera criado com 770
Bom, sei lá. Eu prefiro assim, regra geral sem excessões que funciona sempre e pra tudo. Só que tem que saber a linguagem binária!