Permissões de arquivo padrão
Ao ser criado, um arquivo recebe permissões iniciais. Duas coisas afetam essas permissões iniciais:
-
Se você está criando um arquivo regular ou um diretório.
-
O umask atual, o que significa máscara de criação de arquivos do usuário.
Se você criar um diretório, suas permissões octais iniciais serão 0777 (drwxrwxrwx). Se você criar um arquivo regular, suas permissões octais iniciais serão 0666 (-rw-rw-rw-). Você sempre precisa incluir explicitamente a permissão de execução em um arquivo regular. Essa etapa torna mais difícil para um invasor comprometer um sistema, criar um arquivo malicioso e executá-lo.
Além disso, a sessão do shell define um umask para restringir ainda mais as permissões iniciais de um arquivo. O umask é um bitmask octal que limpa as permissões de novos arquivos e diretórios que um processo cria. Se um bit for definido no umask, a permissão correspondente será desmarcada nos novos arquivos. Por exemplo, o umask de 0002
, limpa o bit de gravação para outros usuários. Os zeros à esquerda indicam que as permissões especial, de usuário e de grupo não são limpas. O umask de 0077
limpa todo o grupo e outras permissões de arquivos recentemente criados.
O comando umask
sem argumentos exibe o valor atual do umask do shell:
[user@host ~]$ umask
0002
Use o comando umask
com apenas um argumento octal para alterar o umask do shell atual. O argumento deve ser um valor octal correspondente ao novo valor de umask. Você pode omitir zeros à esquerda no umask.
Os valores de umask padrão do sistema para usuários do shell Bash estão definidos nos arquivos /etc/profile
ou /etc/bashrc
. Os usuários podem substituir os padrões do sistema em seus arquivos .bash_profile
ou .bashrc
nos diretórios pessoais.