Esqueça o chmod 777! Aprenda a definir permissões em Linux
As distribuições Linux garantem a máxima segurança da informação! No entanto, é necessário que o utilizador domine alguns conceitos fundamentais para garantir essa segurança.
Já ouviu falar em permissões de ficheiros e diretórios no Linux? Hoje ensinamos como funciona este sistema de permissões.
No sistema de ficheiros utilizados no SO Linux existem atributos específicos para cada ficheiro/diretoria. Esses atributos, também conhecidos por “permissões, possibilitam ao SO controlar o acesso dos diferentes utilizadores aos ficheiros/diretorias.
Desta forma evita-se que um utilizador possa aceder a conteúdos aos quais não tem privilégios, por serem ficheiros de sistema ou ficheiros de um outro utilizador.
Permissões no Linux: User, Group e Other
As permissões em ficheiros e diretórios estão divididos em 3 patamares:
Para visualizarmos as permissões podemos utilizar o seguinte comando ls -l (ls — comando para listar directórios e ficheiros e a opção “l” é para podermos visualizar detalhes).
No exemplo, da imagem anterior, temos definidas as seguintes permissões:
- ppinto.dat: permissões totais. Ou seja, leitura, escrita e execução para o dono, grupo e outros (777)
- pplware.txt: Leitura e escrita para o dono, leitura para o grupo e leitura para os outros (644)
- psimoes.doc: Leitura e escrita para o dono e leitura para o grupo (640)
Para alterar/atribuir permissões a um determinado ficheiro /diretório utilizamos o comando chmod <valor> ficheiro/Diretório. A atribuição de permissões pode ser realizada através do modo de máscara binária (também definido de modo octal) ou então através de um modo amigável (com letras).
Permissões: Modo máscara binária ou modo octal
A máscara binária é composta por três algarismos arábicos sob a base 8 ou seja de 0 a 7 (daí o nome de modo octal) onde:
- O primeiro dígito representa o dono do ficheiro/diretório (u)
- O segundo dígito representa o grupo (g)
- O terceiro dígito representa os outros (o)
As permissões são especificadas para cada grupo. Os “pesos” atribuídos são:
Vamos considerar então que pretendemos atribuir ao ficheiro pplware a permissão de leitura(4),escrita (2)e execução (1)para odono do ficheiro, leitura (4)aogrupoe leitura (4) aosoutros.
Ora somando os “pesos”temos: para o dono temos 4+2+1=7, relativamente ao grupo temos apenas 4 e o mesmo acontece para os outros. Então, a permissão a atribuir seria 744. Percebido? Numa primeira fase parece confuso, mas depois torna-se bastante simples de configurar
Exemplos com o modo máscara binária
- chmod 600pplware> permissões ‘rw‐‐‐‐‐‐‐’
- chmod 755pplware> permissões ‘rwxr‐xr‐x’
- chmod 777pplware> permissões ‘rwxrwxrwx’
Modo: “amigável” (com letras)
Para a definição de permissões através do modo “amigável” é necessário recorrer a letras e mais alguns símbolos. Além do que já aprendemos, destaque para os operadores que nos permitem definir uma permissão (‘+’) ou remover uma permissão (‘-).
Exemplo do modo amigável.
Criem o ficheiro pplware através do comando touch, e depois experimentam mudar-lhe as permissões. Para ver as permissões do ficheiro podem usar o comandols -l pplware
- chmod u+rwpplware — define permissões ‘r/w’(leitura e escrita) ao dono do ficheiro
- chmod o‐rwxpplware — retira todas as permissões aos “outros”
- chmod a+rwpplware — dá permissões ‘r/w’ a todos (ugo)
- chmod go‐rpplware — retira a permissão ‘r’(leitura) ao grupo e outros
Em Resumo…
Resumindo, no modo amigável usamos letras e na máscara binária usamos um conjunto de três dígitos. Como dica final deixo-vos o comando. Experimentem usar da seguinte forma: stat pplware e depois analisam a informação presente no campo Access.
Como viram definir permissões em Linux não é assim muito difícil. Quem pretender pode também sempre recorrer à interface gráfica.
Esperamos que este tutorial vos seja útil e que pensem duas vezes quando pretenderem definir uma permissão 777.
Originally published at https://pplware.sapo.pt on March 7, 2020.