O Linux é um sistema operacional multitarefa e multiusuário. Isso significa que várias pessoas podem usar o mesmo sistema ao mesmo tempo, e por isso, é essencial controlar quem pode acessar o quê. Para isso, existem as permissões de arquivos e diretórios.
Entendendo as Permissões Básicas
Cada arquivo ou diretório em um sistema Linux possui três tipos de permissões:
- Leitura (r): permite ver o conteúdo de um arquivo ou listar os arquivos de um diretório.
- Escrita (w): permite modificar um arquivo ou adicionar/remover arquivos de um diretório.
- Execução (x): permite executar um arquivo como programa/script ou acessar um diretório.
E essas permissões são atribuídas a três categorias de usuários:
- Dono (owner): quem criou o arquivo.
- Grupo (group): grupo de usuários com acesso.
- Outros (others): todos os outros usuários.
Visualizando Permissões
Para ver as permissões, usamos o comando:
ls -l
Exemplo de saída:
-rwxr-xr-- 1 joao desenvolvedores 1234 mai 30 10:00 script.sh
Aqui está como interpretar isso:
-→ tipo (arquivo comum)rwx→ dono: pode ler, escrever e executarr-x→ grupo: pode ler e executarr--→ outros: só podem ler
Modificando Permissões
Usamos o comando chmod para alterar permissões. Pode-se usar duas formas:
1. Forma simbólica:
chmod u+x script.sh
Adiciona permissão de execução para o usuário (owner).
2. Forma numérica:
chmod 755 script.sh
Cada permissão é representada por um número:
r= 4w= 2x= 1
Soma-se os valores conforme as permissões desejadas:
7= rwx5= r-x4= r–
Mudando o Dono ou Grupo
Para mudar o dono ou grupo, usamos os comandos:
chown novo_dono arquivo
chgrp novo_grupo arquivo
Permissões Especiais (Breve Explicação)
Além das permissões básicas, existem permissões especiais:
- SUID (Set User ID): executa o arquivo com permissões do dono.
- SGID (Set Group ID): em diretórios, novos arquivos herdam o grupo.
- Sticky Bit: em diretórios como
/tmp, só o dono pode deletar seus arquivos.
Um exemplo de uso do sticky bit:
chmod +t /meu_diretorio
Conclusão
As permissões no Linux garantem a segurança e organização do sistema, controlando quem pode fazer o quê. Com comandos simples como chmod, chown e ls -l, você já consegue gerenciar bem o acesso aos seus arquivos e diretórios.
