Descrição
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 0666 (leitura e gravação para todo e qualquer usuário do sistema);
- as permissões iniciais de um diretório são 0777 (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) o resultado da operação
“permissão padrão” – umask
onde umask tem as permissões não liberadas para os usuários.
Exemplos
- Para verificar a configuração atual de umask, basta digitar na linha de comando
umask
Abaixo é mostrada a definição padrão do Linux.
0002
Para visualizar a representação simbólica, digite
umask -S
A saída para o valor 0002 será
u=rwx,g=rwx,o=rx
- Suponha que o usuário aluno tenha umask igual a 0022. Quando este usuário cria o arquivo teste, as permissões do arquivo então corresponde ao valor 0644.
-rw-r−−r−− 1 aluno aluno 0 May 28 17:20 teste
- Para alterar o valor de umask, basta incluir o novo valor após o comando umask. Por exemplo, o comando
umask 0036
define que, por padrão, novos arquivos terão permissão 0640, enquanto novos diretórios terão permissão 0741. Abaixo, um arquivo e um diretório criados com estas permissões.
-rw-r−−−−− 1 aluno aluno 1024 Fev 12 20:45 arq_teste
drwxr−−−−x 2 aluno aluno 4096 Fev 12 20:47 dir_teste
Observações
- O termo umask corresponde a “user mask”, ou seja, máscara do usuário.
- O comando chmod permite alterar as permissões de acesso de arquivos/diretórios.
- O Linux trata o dígito 1 no umask como zero na criação de arquivos. Por exemplo, a umask 0011, gera arquivos com permissão 666 (parece ser uma definição antiga do Linux).
- Foram reportados alguns bugs no comando umask nas versões Ubuntu 17 e 18 (ex: bug 1685754).