O umask atua como um conjunto de permissões que os aplicativos não podem definir nos arquivos. É uma máscara de criação de modo de arquivo para processos e não pode ser definida para diretórios em si. A maioria dos aplicativos não criaria arquivos com permissões de execução configuradas, então eles teriam um padrão de 666
, que é então modificado pelo umask.
Como você definiu o umask para remover os bits de leitura / gravação do proprietário e os bits de leitura dos outros, um padrão como 777
nos aplicativos resultaria em permissões de arquivo 133
. Isso significaria que você (e outros) poderiam executar o arquivo, e outros poderiam escrever nele.
Se você quiser que os arquivos não sejam lidos / gravados / executados por ninguém, mas pelo proprietário, use um umask como 077
para desativar essas permissões para o grupo & amp; outros.
Por outro lado, um umask de 000
tornará os diretórios recém-criados legíveis, graváveis e descendentes para todos (as permissões serão 777
). Essa umask é altamente insegura e você nunca deve configurar o umask para 000
.
O padrão umask no Ubuntu é 022
, o que significa que os arquivos recém-criados são legíveis por todos, mas apenas graváveis pelo proprietário:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr 1 19:15 new-file-name
Visualizando e modificando umask
Para ver sua configuração atual de umask, abra um terminal e execute o comando:
umask
Para alterar a configuração de umask do shell atual para outra coisa, diga 077, execute:
umask 077
Para testar se essa configuração funciona ou não, você pode criar um novo arquivo (as permissões de arquivo de um arquivo existente não serão afetadas) e mostrar informações sobre o arquivo, executar:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr 1 19:14 new-file-name
A configuração de umask é herdada por processos iniciados a partir do mesmo shell. Por exemplo, inicie o editor de texto GEdit executando gedit
no terminal e salve um arquivo usando o gedit. Você notará que o arquivo recém-criado é afetado pela mesma configuração de umask do terminal.
Caso de uso: sistema multiusuário
Se você estiver em um sistema compartilhado por vários usuários, é recomendável que outras pessoas não possam ler arquivos em seu diretório pessoal. Para isso, um umask é muito útil. Edite ~/.profile
e adicione uma nova linha com:
umask 007
Você precisa se logar novamente para essa mudança de umask em ~/.profile
para entrar em vigor. Em seguida, você precisa alterar as permissões de arquivos existentes em seu diretório pessoal removendo o bit de leitura, gravação e execução do mundo. Abra um terminal e execute:
chmod -R o-rwx ~
Se você quiser que essa configuração de umask seja aplicada a todos os usuários do sistema, edite o arquivo de perfil de todo o sistema em /etc/profile
.