Guia do Linux/Iniciante+Intermediário/Permissões de acesso a arquivos e diretórios/umask

Origem: Wikilivros, livros abertos por um mundo aberto.
Saltar para a navegação Saltar para a pesquisa

umask[editar | editar código-fonte]

A umask (user mask) são 3 números que definem as permissões iniciais do dono, grupo e outros usuários que o arquivo/diretório receberá quando for criado ou copiado. Digite umask sem parâmetros para retornar o valor de sua umask atual.

A umask tem efeitos diferentes caso o arquivo que estiver sendo criado for binário (um programa executável) ou texto ([ch-bas.html#s-basico-arquivo-bintext Arquivo texto e binário, Seção 2.2.3]) . Veja a tabela a seguir para ver qual é a mais adequada a sua situação:


     ---------------------------------------------
     |       |        ARQUIVO       | DIRETÓRIO  |
     | UMASK |----------------------|            |
     |       |   Binário  |  Texto  |            |
     |------------------------------|------------|
     |   0   |    r-x     |   rw-   |    rwx     |
     |   1   |    r--     |   rw-   |    rw-     |
     |   2   |    r-x     |   r--   |    r-x     |
     |   3   |    r--     |   r--   |    r--     |
     |   4   |    --x     |   -w-   |    -wx     |
     |   5   |    ---     |   -w-   |    -w-     |
     |   6   |    --x     |   ---   |    --x     |
     |   7   |    ---     |   ---   |    ---     |
     ---------------------------------------------

Um arquivo texto criado com o comando umask 012;touch texto.txt receberá as permissões -rw-rw-r--, pois 0 (dono) terá permissões rw-, 1 (grupo), terá permissões rw- e 2 (outros usuários) terão permissões r--. Um arquivo binário copiado com o comando umask 012;cp /bin/ls /tmp/ls receberá as permissões -r-xr—r-x (confira com a tabela acima).

Por este motivo é preciso um pouco de atenção antes de escolher a umask, um valor mal escolhido poderia causar problemas de acesso a arquivos, diretórios ou programas não sendo executados. O valor padrão da umask na maioria das distribuições atuais é 022. A umask padrão no sistema Debian é a 022 .

A umask é de grande utilidade para programas que criam arquivos/diretórios temporários, desta forma pode-se bloquear o acesso de outros usuários desde a criação do arquivo, evitando recorrer ao chmod.