No comando chmod, o modo octal possui este nome devido a fazer uso de alguns caracteres numéricos entre 0 e 7. Cada número faz referência a uma letra ou a um conjunto de letras do modo simbólico. Neste artigo, explicaremos o uso do chmod 777 e do chmod 755. Além disso, mostraremos as demais permissões mais usadas em servidores VPS Linux.
Sendo assim, vamos considerar a referência numérica a seguir:
1 equivale à execução (chmod +x) no modo simbólico;
2 equivale à escrita, representado pela letra (w);
4 equivale à leitura, referenciado pela letra (r).
Através destes números, sempre na mesma ordem (usuário dono, grupo dono e outros usuários), definimos as permissões de cada conjunto.
O uso de permissões no modo octal é muito comum em servidores, como os VPS e Cloud. Essas permissões também funcionam perfeitamente em Desktops Linux.
Conteúdo
CHMOD 421: Permissão de leitura, escrita e execução individuais
Na prática, podemos começar indicando ao chmod que, por exemplo, defina permissão de leitura para o usuário (4), escrita para o grupo (2) e execução para outros usuários (1).
Portanto, este será o comando a ser executado por você no terminal:
$ chmod 421 exemplo.txt
Saída:
Porém, se você preferir, como alternativa, poderá executar o mesmo comando equivalente ao modo simbólico:
$ sudo chmod u=r,g=w,o=x exemplo.txt
Então, só podemos definir uma permissão para cada conjunto quando usamos o modo octal?
Na verdade, não. Pois, podemos definir mais de um nível de permissão para um ou mais conjunto.
Para tanto, nós devemos fazer uma combinação numérica entre 0 e 7, desde que a soma dessa combinação não ultrapasse a soma total de 7 para cada conjunto.
CHMOD 600: Permissão de leitura e escrita apenas para o owner
Vamos pensar no usuário dono do arquivo. Se queremos que somente este tenha permissão de leitura (4) e escrita (2), somamos os respectivos valores. Então, teremos o valor numérico de 6.
E para o conjunto dono do grupo e o conjunto outros usuários decidimos restringir tudo, então, definimos o valor 0 para ambos.
O comando ficará da seguinte forma:
$ sudo chmod 600 exemplo.txt
A saída então será:
CHMOD 000: Restrição de acesso total
Se por algum motivo de segurança totalmente restritiva, você quiser que todos os conjuntos não tenham nenhuma permissão, então, defina o valor 0 para todos eles. Este tipo de permissão é totalmente o inverso à permissão 777.
Portanto, o comando que você deverá executar é o seguinte:
$ sudo chmod 000 exemplo.txt
Saída:
CHMOD 760: Liberando permissão total para o owner
Se quisermos definir que o dono tenha total permissão (7), o grupo tenha permissões de leitura e escrita (6) e os demais usuários fiquem sem permissão (0). Nós devemos utilizar o seguinte comando:
$ sudo chmod 760 exemplo.txt
Agora, vamos verificar se as permissões mudaram conforme gostaríamos:
Conforme você pode conferir a saída, as permissões estão imputadas conforme pretendíamos.
CHMOD 777: permissão total
A permissão chmod 777 serve para conceder leitura, escrita e execução a todos os usuários, sejam eles o proprietário do arquivo, membros do grupo ou outros usuários.
No exemplo a seguir, vamos aplicar permissão recursiva (-R) em um diretório, dessa forma, os arquivos que estiverem dentro desse diretório herdarão a mesma permissão.
$ sudo chmod -R 777 site/$ sudo chmod -R 777 site/
Foi definida a permissão 777 recursiva para o diretório /site, oque acarretou na definição do mesmo nível para o diretório www.homehost .com.br.
Neste nível de permissão, o digito à esquerda, indica permissão total para o proprietário dono do arquivo.
O digito ao centro define a permissão total para o grupo ao qual o arquivo pertence.
E o dígito à direita permite acesso total a qualquer outro usuário que esteja presente no sistema.
Quando devemos usar a permissão chmod 777?
Você deve usar a permissão 777 com muita cautela, pois ela expõe as informações de diretórios e arquivos para qualquer usuário no sistema, sem restrições.
Do ponto de vista de segurança, compreendemos que essa configuração possui alto risco, pois qualquer usuário, mal-intencionado ou não, pode modificar, excluir ou executar arquivos e diretórios, injetando códigos maliciosos para roubo de informações em um sistema.
Mas, existem cenários em que conceder a permissão chmod 777 é a forma mais apropriada, como em diretórios temporários ou de uploads, onde os usuários precisam compartilhar e modificar arquivos temporários em um ambiente controlado. No entanto, esses casos são raros e devem ter constante monitoramento.
Riscos que a permissão chmod 777 traz
Vulnerabilidades de segurança: Qualquer usuário pode modificar, excluir ou executar os arquivos, o que pode levar a sérias brechas de segurança.
Erros acidentais: Como a permissão é irrestrita, erros acidentais podem causar danos irreparáveis a arquivos e diretórios.
Falta de privacidade: Os dados podem ser acessados por qualquer pessoa, comprometendo a privacidade e confidencialidade das informações.
CHMOD 755: permissão de execução e leitura
A permissão 755 concede permissão de execução e leitura, porém não de escrita ao componente grupo de usuários e ao componente outros usuários.
Normalmente é a permissão mais usada em servidores de hospedagem de sites. Ele mantém o diretório e o arquivo seguros e protegidos, impedindo que terceiros façam alterações.
O que é a permissão chmod 755?
A permissão 755 é um nível de configuração que concede direitos de leitura, escrita e execução (7), apenas ao proprietário do arquivo ou diretório, e para os demais há somente direito de leitura e execução (5).
No exemplo a seguir, você pode conferir como aplicar permissão 755 de forma recursiva (-R) em um diretório, dessa forma, os arquivos que estiverem dentro desse diretório herdarão a mesma permissão.
$ sudo chmod -R 755 www.homehost.com.br/
Quando usar a permissão 755?
A permissão 755 é usada com frequência para arquivos executáveis e scripts, pois permite que o proprietário do arquivo faça modificações e o execute, e que outros usuários possam apenas o executar.
Isso é útil em muitos cenários, como quando você deseja compartilhar programas ou scripts via internet sem permitir que outras pessoas os modifiquem.
A seguir, algumas situações em que a permissão 755 é apropriada:
Execução de scripts: Quando você cria scripts ou programas que precisam de execução por outros usuários, sem permitir modificações.
Acesso a páginas web: Para arquivos web que precisam de acesso e execução por servidores, como PHP, ASP ou HTML.
Binários de aplicativos: Arquivos conhecidos como executáveis, que fazem parte de aplicações instaladas em um sistema, onde os usuários comuns precisam apenas executá-los.
Vantagens da permissão 755
Proporciona equilíbrio entre segurança e acessibilidade.
Permite que o proprietário do arquivo faça modificações, enquanto outros usuários podem apenas executá-lo.
É amplamente utilizado e reconhecido em sistemas Linux.
Riscos da permissão 755
Mesmo o componente outros usuários possuindo apenas acesso de leitura e execução, há o risco de obterem acesso a conteúdo sensível.
CHMOD 644: Leitura e gravação ao proprietário
A permissão 644, também representada por notação octal, é responsável por conceder permissão de leitura e gravação (6) ao proprietário do arquivo.
Os demais dígitos (4), representam apenas permissão de leitura para o componente grupo de usuários e para o componente outros usuários, respectivamente.
No exemplo a seguir, vamos aplicar a mesma permissão 644 para os arquivos contidos em um diretório.
$ sudo chmod 644 *
Quando usar a permissão 644?
Este nível de permissão é usado com frequência em documentos, imagens, arquivos de configuração, entre outros tipos de arquivos que precisam apenas de permissão de leitura.
Do ponto de vista da segurança, a confidencialidade dos dados é importante, quando você deseja que outros usuários possam apenas ler o conteúdo, sem permitir a execução e modificação.
Confira alguns dos casos em que você pode aplicar a permissão 644
Documentos pessoais: Arquivos pessoais, como documentos de texto, planilhas ou imagens, que você deseja manter privados, mas ainda precisa compartilhar com outros usuários.
Arquivos de configuração: Arquivos de configuração do sistema que contêm informações sensíveis, como senhas, mas precisam de leitura apenas por parte do sistema.
Arquivos de log: Logs do sistema que registram diversos tipos de atividades, mas não devem ser modificados por usuários comuns.
Vantagens da permissão 644
Provê maior nível de segurança e privacidade aos arquivos.
Permite que apenas o proprietário modifique o arquivo, enquanto outros usuários só podem lê-lo.
É uma configuração muito reconhecida e de fácil gerenciamento.
Desvantagem da permissão 644
Não permite a execução de arquivos, portanto, não é adequada para aplicar maior nível de segurança em scripts e programas.
Considerações finais
Neste artigo, abordamos as permissões que mais comumente são utilizadas no Linux, sites e aplicações.
Com os exemplos, mostramos como é fácil aplicar permissões em arquivos e diretórios.
Indicamos quais vantagens e desvantagens de cada permissão e suas indicações.
Por fim, indicamos os cuidados ao aplicar algumas permissões específicas, principalmente os cuidados ao usar a maior permissão, 777.