Skip to content

Permissões de ficheiros Linux explicadas

Modos octais e simbólicos para chmod, com os bits setuid, setgid e sticky.

Cada ficheiro tem três classes: dono, grupo e outros. Cada classe soma três bits: leitura vale 4, escrita vale 2, execução vale 1. Três dígitos octais formam o modo.

Tabela de referência · 42 entradas
42 of 42 rows
Numérico (octal)
Dono com acesso total; grupo e outros leem e executam.chmod 755 script.sh
Dono lê e escreve; grupo e outros apenas leem.chmod 644 notes.txt
Apenas o dono lê e escreve; sem acesso para outros.chmod 600 ~/.ssh/id_rsa
Acesso total apenas para o dono; sem acesso para outros.chmod 700 ~/.ssh
Acesso total para todos. Um risco de segurança.chmod 777 shared/
Todos leem e escrevem. Sem bit de execução.chmod 666 log.txt
Dono com acesso total; grupo lê e executa; outros sem nada.chmod 750 app/
Apenas execução, para todas as classes. Um diretório pode ser atravessado mas não listado.chmod 111 dir/
Sem acesso para qualquer classe. O root ainda pode ler o ficheiro.chmod 000 private.key
Dono e grupo com acesso total mais setgid; o padrão para diretórios de equipa partilhados.chmod 2775 /srv/team
Resultados do umask
Máscara predefinida. Ficheiros novos ficam com 644; diretórios novos com 755.umask 022
Máscara privada. Ficheiros novos ficam com 600; diretórios novos com 700.umask 077
Simbólico
Adiciona execução para o dono.chmod u+x deploy.sh
Remove escrita do grupo.chmod g-w config.yml
Remove leitura dos outros.chmod o-r secret.env
Define apenas leitura para todas as classes.chmod a=r readme.md
Concede todas as permissões a todas as classes.chmod ugo+rwx public/
Bits especiais
Bit setuid ativo. O binário executa como o dono do ficheiro.chmod 4755 /usr/bin/passwd
Bit setgid ativo. Ficheiros e subdiretórios novos herdam o grupo do diretório.chmod 2755 /shared
Bit sticky ativo. Apenas o dono do ficheiro pode apagar.chmod 1777 /tmp
Bit sticky num ficheiro normal. Uma pista legada de manter em swap que o Linux moderno ignora.chmod 1755 legacy.sh
Comandos
Altera os bits de modo do ficheiro.chmod 755 file
Altera o dono e o grupo do ficheiro.chown user:group file
Altera o grupo proprietário de um ficheiro.chgrp devs file
Define a máscara de permissões predefinida para ficheiros novos.umask 022
Lista ficheiros com permissões em formato longo.ls -l /etc
Mostra as entradas POSIX ACL de um ficheiro.getfacl report.pdf
Define ou modifica entradas POSIX ACL.setfacl -m u:alice:rw report.pdf
Encontra ficheiros cujos bits de permissão correspondem a um modo.find / -perm /4000
Imprime metadados do ficheiro, incluindo o modo octal.stat -c '%a %n' file
Lista as permissões de cada componente de um caminho.namei -l /var/www/index.html
Altera um atributo de ficheiro, como immutable.chattr +i /etc/resolv.conf
Lista atributos de ficheiro.lsattr /etc/resolv.conf
Mostra as capabilities concedidas a um ficheiro.getcap /usr/bin/ping
Concede uma capability a um ficheiro, sem setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
Lista as capabilities em vigor na shell atual.capsh --print
Mostra o uid, o gid e os grupos de um utilizador.id alice
Lista os grupos a que um utilizador pertence.groups alice
Executa um comando como outro utilizador segundo a política sudoers.sudo systemctl restart nginx
Edita o ficheiro sudoers com verificação de sintaxe.visudo
Muda para outra conta de utilizador.su - deploy
Inicia uma shell com um grupo primário diferente.newgrp developers