O comando umask serve como uma máscara para ajustar a
permissão de arquivos e diretórios.
Se você usar o comando umask sem parâmetros
será mostrado o valor atual que este comando está
usando:
[usuario@localhost]# umask
002
|
No exemplo acima o comando umask está com a
máscara 002 (octal).
Se você quiser alterar este valor você deve usar o
comando umask com o valor da máscara como argumento:
[usuario@localhost]# umask 222
[usuario@localhost]# umask
222
|
No exemplo acima a o valor da máscara foi alterado para
222.
Para descobrir como o comando umask funciona você deve
observar os bits da máscara, e não somente o
número octal.
Veja os exemplos do comando umask para a criação
de arquivos:
rwx rwx rwx rwx rwx rwx
umask=022 000 010 010 umask=133 001 011 011
=========== ===========
rw- r-- r-- rw- r-- r--
|
Você deve oberservar que o bit 0 liga uma permissão
e que o bit 1 desliga uma permissão. Mas você deve ter
notado que o bit "x" foi desligado, mesmo tendo a permissão
0. Isso é uma proteção do Linux, que
não deixa criar nenhum arquivo com a permissão de
executável. Se você quiser criar um arquivo
executável deverá fazê-lo através do
comando chmod. Isso é uma proteção muito boa,
pois evita que vírus ataquem o sistema.
Veja o mesmo exemplo para a criação de
diretórios:
rwx rwx rwx rwx rwx rwx
umask=022 000 010 010 umask=133 001 011 011
=========== ===========
rwx r-x r-x rw- r-- r--
|
Agora sim o bit "x" foi ligado normalmente, como a
máscara está indicando. A única
diferença entre a criação de diretórios
e arquivos é que na criação de arquivos eles
não podem ser executáveis.