Com certeza! Se você quer dominar o Linux ou a administração de servidores, entender o chmod e o chown é fundamental. Eles controlam a segurança e o acesso aos arquivos.
Aqui está um guia prático para você nunca mais esquecer:
1. chmod (Change Mode)
O chmod serve para alterar as permissões de acesso (quem pode ler, escrever ou executar).
No Linux, as permissões são divididas em três tipos de usuários:
- u (user/owner): O dono do arquivo.
- g (group): O grupo que possui o arquivo.
- o (others): Qualquer outro usuário do sistema.
As permissões são:
- r (read/leitura): Valor 4
- w (write/escrita): Valor 2
- x (execute/execução): Valor 1
Como usar (Modo Numérico):
Você soma os valores para cada categoria. Por exemplo:
- 7 (4+2+1) = Tudo (leitura, escrita e execução).
- 6 (4+2) = Leitura e escrita.
- 5 (4+1) = Leitura e execução.
- 4 = Apenas leitura.
Exemplo clássico:
chmod 755 arquivo.sh
- 7 (Dono): Pode tudo.
- 5 (Grupo): Lê e executa.
- 5 (Outros): Lê e executa.
Como usar (Modo Simbólico):
chmod u+x arquivo(Adiciona permissão de execução para o dono).chmod g-w arquivo(Remove permissão de escrita do grupo).chmod a+r arquivo(Dá leitura para todos – all).
2. chown (Change Owner)
O chown serve para alterar o dono (proprietário) e o grupo de um arquivo ou diretório.
Diferente do chmod, geralmente você precisa de privilégios de superusuário (sudo) para mudar o dono de um arquivo.
Sintaxe básica:
sudo chown usuario:grupo arquivo
Exemplos:
- Mudar apenas o dono:
sudo chown joao arquivo.txt - Mudar o dono e o grupo ao mesmo tempo:
sudo chown joao:admins pasta/ - Mudar apenas o grupo: (Também existe o comando
chgrp, mas o chown resolve assim):sudo chown :developers arquivo.txt
3. A Flag Mágica: -R (Recursivo)
Tanto o chmod quanto o chown aceitam a flag -R. Ela é usada para aplicar a alteração em uma pasta e em todos os arquivos e subpastas dentro dela.
- Cuidado: Use com atenção para não bagunçar as permissões do sistema!
Exemplo:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
(Comum em servidores web para garantir que o Apache/Nginx consiga ler os arquivos).
Resumo Visual:
| Comando | O que faz? | Exemplo |
|---|---|---|
| chmod | Muda O QUE pode ser feito (rwx) | chmod 644 foto.jpg |
| chown | Muda QUEM é o dono (user:group) | chown maria:users foto.jpg |
Dica de ouro: Para ver as permissões atuais de um arquivo, use o comando ls -l. Você verá algo como -rwxr-xr-x, que representa exatamente o que explicamos acima!