ATENÇÃO, O INICIO DO TEXTO REPETE A EXPLICAÇÃO DA APOSTILA E DOS SLIDES, MAS CONTINUE LENDO.
O calculo de umask é:
777 permissão total..
-755 subtraído da permissão desejada...
---
022 valor da umask, que é a base para a definição automática de permissões em diretórios e arquivos.
Para arquivos o sistema faz automaticamente mais um calculo, que é a remoção do bit de execução.
No momento da criação o que ocorre?
Diretórios
777
-022
---
755 no momento da criação de arquivos
-111
---
644
Até agora esta tudo igual as explicações da apostila.
Mas observe o seguinte; experimente fazer estes cálculos em uma calculadora. Com estes valores anteriores o resultado em uma calculadora são os mesmos, mas você pode passar pela seguinte situação:
Sabendo que o valor de UMASK é 007, qual seria a permissão para um
arquivo simples? Vamos as contas:
Em uma calculadora:
777
-007
---
770 Permissão para diretórios.
-111 - Tirando o x bit de execução
---
659 Opa... apareceu um valor maior que 7? Sim isso mesmo. O calculo com a ajuda de uma calculadora resulta um valor errado, no que se refere as permissões de diretórios e arquivos no Linux.
Para o calculo de umask digamos que, não é usada uma matemática comum. No caso da subtração de 770 por 111, no calculo comum e na calculadora ocorre o "empréstimo" do 7 da segunda casa para o 0 (zero) da primeira.
No caso de calculo de umask para permissões não ocorre "empréstimo", as casas são calculadas independentemente, uma por vez. E 0 (zero) subtraído de 1 é 0 (zero), diferente da matemática comum que seria -1.
O calculo com umask 007 então fica:
777
-007
---
770 Permissão para diretórios.
-111 - Tirando o x, que é o bit de execução
---
660 - Temos então a permissão para um arquivo simples, com umask = 007
Nenhum comentário:
Postar um comentário
Grato por comentar