sexta-feira, 20 de março de 2009

COMANDO UMASK

Quando o usuário cria um arquivo (diretório), o sistema associa ao objeto criado um conjunto de permissões de acesso. Estas permissões indicam quem pode ler, alterar e/ou executar (acessar) o arquivo (diretório).

Por padrão,

* as permissões iniciais de um arquivo são 666 (leitura e gravação para todo e qualquer usuário do sistema);
* as permissões iniciais de um diretório são 777 (leitura, gravação e acesso para todo e qualquer usuário do sistema).

Quando um usuário cria um arquivo (ou diretório), o sistema associa a este arquivo (diretório) as permissões padrão menos o valor do umask.

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.

Nenhum comentário:

Postar um comentário