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:

  1. O primeiro representa as permissões do proprietário.

  2. O segundo representa as permissões do grupo.

  3. 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

7

4 + 2 + 1

rwx

Grupo

5

4 + 0 + 1

r-x

Outros

4

4 + 0 + 0

r--

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 600 e simbólica rw-------: Somente o proprietário tem leitura e escrita. É um modo frequentemente utilizado para arquivos privados;

  • Permissão octal 644 e simbólica rw-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 700 e simbólica rwx------: Todas as permissões básicas ficam restritas ao proprietário;

  • Permissão octal 755 e simbólica rwxr-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 775 e simbólica rwxrwxr-x: Proprietário e grupo têm todas as permissões básicas; outros podem ler e executar; e

  • Permissão octal 777 e simbólica rwxrwxrwx: 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

4

setuid

Em executáveis compatíveis, faz o processo utilizar o UID efetivo associado ao proprietário do arquivo.

2

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.

1

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.