Sys Admin (ep. 03, parte 8-4) - Permissões (permissões atribuidas por padrão)

Na nossa publicação anterior (parte 8-3), falamos um pouco de como o Linux atribui permissões padrão a novos ficheiros e directórios e apresentámos o papel fundamental do umask. Com base nesse conhecimento, esta publicação irá aprofundar o mecanismo do umask, começando com a sua fórmula matemática precisa para calcular as permissões finais. Em seguida, iremos percorrer os passos práticos para alterar temporariamente o valor do umask para a sessão actual do shell, bem como métodos para tornar essa alteração permanente para utilizadores individuais ou em todo o sistema. Por fim, analisaremos os valores comuns do umask, ilustrando seus efeitos específicos nas permissões de ficheiros e directórios para proporcionar uma compreensão completa e prática desta ferramenta crítica de segurança e configuração.
 
Conforme explicamos na publicação passada, por predefinição o sistema atribui para:
  • Ficheiros - leitura e escrita para todos utilizadores, o que corresponde a rw-rw-rw- ou 666 em termos numéricos.
  • Directórios -  acesso total para todos utilizadores, o que corresponde a rwxrwxrwx ou 777 em termos numéricos.
Veja abaixo a fórmula.

Vamos então entender como isto funciona. A primeira coisa que devemos fazer é ir até ao nosso sistema e verificar qual é a configuração do umask, e para isso usamos o o comando umask na linha de comando. Veja a imagem abaixo.

Encontramos o umask, corresponde a 0022 para nosso caso. O passo asseguir é usar a fórmula apresentada acima para calcular o Effective Permissions, para ficheiros assim como para directórios.
 
Para ficheiros, teremos:
  • 666 - 022 = 644, que corresponde a rw-r--r-- (permissão de leitura e escrita para o proprietário e apenas permissão de leitura para grupos e outros).
Para directórios, teremos:
  • 777 - 022 = 755, que corresponde a rwxr-xr-x (permissão total para o proprietário, permissão de leitura e execussão para grupos e outros).
Vamos então criar ficheiros e directórios no nosso sistema e verificar se as permissoẽs atribuidas correspondem as permissoẽs encontradas nos nossos cálculos.

Pela imagem, os resultados são os mesmo encontrados nos cálculos acima, tanto para ficheiros regulares assim como para directórios. Com que então todos ficheiros e directórios criados neste sistema serão atribuidos estas permissoẽs por predefinição.

Ajustar permissões temporariamente

Utilizadores podem ajustar temporariamente permissões padrão para novos ficheiros e directórios durante o seu fluxo de trabalho actual, alterando o valor de umask na sua sessão de terminal activa, uma modificação que dura apenas até que o utilizador saia ou feche o terminal. Vamos alterar o umask temporariamente para 077, para tal vamos correr o comando umask seguido do valor do umask que se pretende atribuir temporariamente.

Para ficheiros, teremos: 
  • 666 - 077 = 600, que corresponde a rw------- (permissão de leitura e escrita para o proprietário. Grupos e outros não tem nenhuma permissão).
Para directórios, teremos:
  • 777 - 077 = 700, que corresponde rwx------ (permissão total para o proprietário, grupos e outros não tem nenhuma permissão).
Vamos criar um directório e um ficheiro e verificar as permissões com o novo valosr de umask anteriormente atribuido.

Tomemos sempre a nota de que está configuração sera quebrada assim que o terminal ou sessão for encerrada.

Alterar permissões permanentemente

Para modificar permanentemente permissões padrão para novos ficheiros e directórios, deve-se incorporar o comando umask nos ficheiros de configuração do shell apropriados, como .bashrc para utilizadores individuais ou /etc/profile para todos usuários em todo sistema 
 

Valores comuns do umask e seus efeitos

Umask = 000
  • Permissão para ficheiros é 666.
  • Permissão para directórios é 777.
  • Acesso total para todos usuários.
Umask = 027
  • Permissão para ficheiros é 640.
  • Permissão para directórios é 750.
  • Implementação de mais restrição.
Umask = 077
  • Permissão para ficheiros é 600.
  • Permissão para directórios é 700.
  • Mais privacidade para o proprietário.. 

Comentários