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:
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:
1. Crie o grupo de trabalho: `sudo groupadd devteam` 2. Adicione os usuários ao grupo: `sudo usermod -aG devteam usuario1` `sudo 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:
1. Dono (User - u)
2. Grupo (Group - g)
3. Outros (Others - o)
Representação Numérica (Octal):
Somando os valores, geramos a permissão. Por exemplo:
Exemplos comuns de chmod:
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.