Guia do Linux/Iniciante+Intermediário/Permissões de acesso a arquivos e diretórios/umask
umask
editarA 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
.