Permissões Linux não são apenas números: são decisões de confiança
Permissões Linux não são apenas números: são decisões de confiança
Durante meus estudos e laboratórios de Linux voltados à cibersegurança, percebi que entender permissões vai muito além de decorar comandos como chmod 755 ou chmod 644.
Cada permissão representa uma decisão: quem pode acessar, modificar ou executar determinado recurso? Quando essa decisão é tomada sem analisar o contexto, um simples ajuste pode criar uma vulnerabilidade.
Neste artigo, compartilho como interpreto as permissões Linux sob a perspectiva da segurança.
O que as permissões controlam?
No Linux, arquivos e diretórios possuem permissões distribuídas entre três categorias:
• proprietário: usuário ao qual o recurso pertence; • grupo: conjunto de usuários que compartilham determinadas permissões; • outros: todos os demais usuários do sistema.
Para cada categoria, podem ser concedidas três permissões básicas:
• r — read: permite leitura; • w — write: permite alteração; • x — execute: permite execução.
Podemos visualizar essas informações com:
ls -l
Um resultado como este:
-rwxr-xr-x 1 david dev 1024 script.sh
pode ser dividido da seguinte maneira:
• “-” indica que se trata de um arquivo comum; • “rwx” representa as permissões do proprietário; • “r-x” representa as permissões do grupo; • “r-x” representa as permissões dos outros usuários.
Nesse exemplo, o proprietário pode ler, alterar e executar o arquivo. O grupo e os demais usuários podem apenas ler e executar.
A notação numérica
As permissões também podem ser representadas numericamente:
• leitura (r) = 4; • escrita (w) = 2; • execução (x) = 1.
A soma desses valores define as permissões de cada categoria.
Por exemplo:
chmod 755 script.sh
O valor 755 significa:
• 7 = 4 + 2 + 1: leitura, escrita e execução; • 5 = 4 + 1: leitura e execução; • 5 = 4 + 1: leitura e execução.
Assim, chmod 755 concede todas as permissões ao proprietário e permite que grupo e outros apenas leiam e executem.
Outro exemplo comum é:
chmod 644 documento.txt
Nesse caso:
• o proprietário pode ler e alterar; • o grupo pode apenas ler; • os outros podem apenas ler.
Por que chmod 777 pode ser perigoso?
O comando abaixo concede leitura, escrita e execução para todos:
chmod 777 arquivo
Isso pode parecer uma solução rápida para um erro de acesso, mas cria uma permissão excessiva.
Dependendo do arquivo ou diretório, qualquer usuário poderá modificar seu conteúdo ou substituir um arquivo legítimo por outro malicioso. Se o recurso for executado por uma aplicação ou por um usuário com privilégios elevados, o risco se torna ainda maior.
O problema não é apenas o número 777. O problema é conceder acesso sem responder:
• quem realmente precisa dessa permissão? • qual é a menor permissão necessária? • o que acontecerá se esse arquivo for alterado? • quem poderá executá-lo? • existe algum serviço utilizando esse recurso?
Esse raciocínio está ligado ao princípio do menor privilégio: cada usuário, processo ou serviço deve receber somente os acessos necessários para desempenhar sua função.
Permissões em diretórios
As permissões possuem comportamentos diferentes quando aplicadas a diretórios.
Em um diretório:
• r permite listar os nomes dos arquivos; • w permite criar, remover ou renomear itens; • x permite entrar no diretório e acessar seus elementos.
Por isso, conceder escrita em um diretório exige atenção. Mesmo que um arquivo não possa ser modificado diretamente, alguém com determinadas permissões no diretório pode conseguir removê-lo ou substituí-lo.
Como analisar antes de alterar
Antes de utilizar chmod, podemos verificar o estado atual com:
ls -l arquivo
Para visualizar a permissão em formato numérico:
stat -c '%A %a %U:%G %n' arquivo
Esse comando mostra:
• permissões simbólicas; • permissões numéricas; • proprietário e grupo; • nome do recurso.
Também é importante verificar o proprietário e o grupo:
ls -l arquivo
Quando necessário, eles podem ser alterados com chown e chgrp. Entretanto, mudar a propriedade de um recurso também deve ser uma decisão consciente, principalmente em servidores.
Um exemplo prático
Imagine um script de backup executado automaticamente pelo sistema.
Se qualquer usuário puder modificar esse script, um invasor que comprometer uma conta comum poderá inserir comandos maliciosos. Na próxima execução automática, o código adulterado poderá ser executado com os privilégios do serviço responsável pelo backup.
Nesse cenário, uma permissão inadequada afeta diretamente a integridade do arquivo e pode abrir caminho para escalonamento de privilégios.
Uma configuração mais segura deve considerar:
• quem precisa editar o script; • qual usuário executa a tarefa; • qual grupo precisa acessar; • se outros usuários realmente necessitam de permissão; • como alterações serão monitoradas.
Permissões especiais
Além de leitura, escrita e execução, o Linux possui permissões especiais:
• SUID: permite que um arquivo seja executado com os privilégios de seu proprietário; • SGID: pode executar um arquivo com os privilégios do grupo ou fazer novos arquivos herdarem o grupo de um diretório; • Sticky Bit: em diretórios compartilhados, restringe a exclusão de arquivos aos seus proprietários, ao proprietário do diretório ou ao administrador.
Esses recursos são úteis, mas precisam ser configurados com cuidado. Um binário com SUID mal configurado, por exemplo, pode representar um caminho para escalonamento de privilégios.
Conclusão
Permissões Linux não são apenas letras ou números. Elas representam limites de confiança dentro do sistema.
Comandos como chmod, chown e chgrp são simples de executar, mas seus efeitos podem alcançar usuários, aplicações e serviços. Por isso, antes de alterar qualquer permissão, é importante entender o recurso, identificar quem realmente precisa de acesso e aplicar o menor privilégio possível.
Estou construindo minha transição profissional para cibersegurança por meio de estudos, laboratórios e projetos práticos envolvendo Linux, redes, segurança e preparação para SOC. Compartilho esse processo para consolidar meu aprendizado e contribuir com outras pessoas que também estão iniciando.
Você já encontrou um chmod 777 aplicado apenas para “resolver rapidamente” um problema de permissão? Como você corrigiria essa situação?
LinkedIn:https://www.linkedin.com/in/f-david-pereira/
GitHub: https://github.com/FDavidPereira



