O sistema de permissões do Linux é baseado no princípio do privilégio mínimo. Isso significa que usuários e processos devem ter acesso estritamente ao que necessitam para trabalhar, reduzindo a superfície de ataque em caso de vulnerabilidades.
Neste guia prático, abordamos como criar usuários, agrupá-los e controlar o acesso a arquivos e diretórios usando comandos essenciais de terminal.
1. Criando e Gerenciando Usuários
Nunca execute sua aplicação ou compartilhe contas usando o usuário root diretamente. Crie contas individuais e com privilégios limitados.
Comandos úteis:
- Criar usuário:
sudo adduser nome_usuario
(O comando adduser cria automaticamente a pasta home do usuário e solicita a criação da senha). - Deletar usuário:
sudo deluser nome_usuario - Adicionar usuário ao grupo sudo (administrador):
sudo usermod -aG sudo nome_usuario
2. Criando e Gerenciando Grupos
Grupos facilitam o compartilhamento de diretórios entre múltiplos usuários (por exemplo, desenvolvedores que precisam editar os mesmos arquivos de um site no WordPress).
Como estruturar:
- Crie o grupo de trabalho:
sudo groupadd devteam - Adicione os usuários ao grupo:
sudo usermod -aG devteam usuario1sudo usermod -aG devteam usuario2
3. Alterando Donos de Arquivos com chown
Cada arquivo e pasta no Linux pertence a um usuário e a um grupo. O comando chown (change owner) altera essa propriedade.
Uso prático:
Para definir o usuário www-data e o grupo devteam como donos de uma pasta de aplicação web recursivamente (todas as subpastas): sudo chown -R www-data:devteam /var/www/meusite
4. Gerenciando Permissões com chmod
O comando chmod (change mode) define quem pode ler (r), gravar (w) ou executar (x) arquivos e diretórios.
As permissões são distribuídas para três classes:
- Dono (User - u)
- Grupo (Group - g)
- Outros (Others - o)
Representação Numérica (Octal):
4= Ler (read)2= Gravar (write)1= Executar (execute)
Somando os valores, geramos a permissão. Por exemplo:
7(4+2+1): Permissão total (ler, gravar e executar).6(4+2): Ler e gravar.5(4+1): Ler e executar.4: Apenas ler.
Exemplos comuns de chmod:
chmod 755 arquivo.sh: Permite que o dono faça tudo, enquanto o grupo e outros podem apenas ler e executar (comum para scripts públicos).chmod 600 id_rsa: Permite que apenas o dono leia e escreva no arquivo (obrigatório para chaves privadas SSH).chmod -R 775 /var/www: Dá permissão total ao dono e grupo de desenvolvimento, e leitura/execução a outros.
Conclusão
Manter o controle correto de proprietários e permissões é um dos pilares de segurança de qualquer servidor Linux. Aplicando o chown e chmod corretos, você evita brechas de segurança de arquivos confidenciais sem prejudicar o funcionamento das suas aplicações.