Alteração de permissões no formato octal#
Como funciona a representação octal?#
O formato octal utiliza oito símbolos, de 0 a 7, para representar grupos de três bits.
No caso das permissões tradicionais, são utilizados três dígitos:
O primeiro representa as permissões do proprietário.
O segundo representa as permissões do grupo.
O terceiro representa as permissões dos outros usuários.
Assim, o modo 754 é interpretado da seguinte forma:
Categoria |
Dígito |
Cálculo |
Permissões |
|---|---|---|---|
Proprietário |
|
4 + 2 + 1 |
|
Grupo |
|
4 + 0 + 1 |
|
Outros |
|
4 + 0 + 0 |
|
Portanto:
chmod 754 script.sh
Produz um modo equivalente a:
-rwxr-xr--
O primeiro caractere - indica que se trata de um arquivo regular.
Exemplos frequentes#
Apesar de ser possível ter várias combinações de permissões de leitura, escrita e execução para usuários, grupos e outros, as permissões mais comuns são as que seguem:
Permissão octal
600e simbólicarw-------: Somente o proprietário tem leitura e escrita. É um modo frequentemente utilizado para arquivos privados;Permissão octal
644e simbólicarw-r--r--: O proprietário pode ler e escrever; grupo e outros podem ler. É comum para arquivos de texto não executáveis;Permissão octal
700e simbólicarwx------: Todas as permissões básicas ficam restritas ao proprietário;Permissão octal
755e simbólicarwxr-xr-x: O proprietário pode ler, escrever e executar; grupo e outros podem ler e executar. É comum em scripts e diretórios públicos para travessia;Permissão octal
775e simbólicarwxrwxr-x: Proprietário e grupo têm todas as permissões básicas; outros podem ler e executar; ePermissão octal
777e simbólicarwxrwxrwx: Todos recebem leitura, escrita e execução. Deve ser evitado como solução genérica para problemas de acesso, pois pode permitir alterações indesejadas.
Os exemplos descrevem permissões básicas. A possibilidade efetiva de acesso também depende do caminho, das ACLs, dos privilégios do processo e de outros mecanismos de segurança.
Por que chmod 644 substitui o modo anterior?#
Ao executar:
chmod 644 relatorio.txt
O comando define um novo modo básico: leitura e escrita para o proprietário, leitura para grupo e outros, sem execução para nenhuma dessas categorias.
Diferentemente de uma operação simbólica como chmod g+w, que acrescenta uma permissão ao modo existente, a forma octal especifica o conjunto de bits desejado.
Isso significa que, por exemplo, um arquivo inicialmente com modo 755 passa a ter modo 644 após a execução do comando.
Bits especiais e quatro dígitos octais#
Além das permissões básicas, o modo pode conter bits especiais:
Valor |
Bit especial |
Função principal |
|---|---|---|
|
setuid |
Em executáveis compatíveis, faz o processo utilizar o UID efetivo associado ao proprietário do arquivo. |
|
setgid |
Em executáveis compatíveis, faz o processo utilizar o GID efetivo associado ao arquivo; em diretórios, pode favorecer a herança do grupo. |
|
sticky |
Em diretórios, restringe a remoção ou renomeação de entradas por usuários não privilegiados que não sejam proprietários do arquivo ou do diretório. |
Quando utilizado um quarto dígito, ele representa esses bits especiais.
Por exemplo:
chmod 4755 programa
Solicita setuid, além das permissões básicas 755.
Outro exemplo:
chmod 1777 diretorio-compartilhado
Define permissões básicas 777 e ativa o sticky bit, uma combinação comum em diretórios temporários compartilhados, embora a configuração real deva ser avaliada conforme a finalidade e o ambiente.
Esses bits têm implicações de segurança. Em especial, não se deve habilitar setuid ou setgid em executáveis sem compreender o efeito sobre os privilégios do processo.