O que são permissões de arquivos no Linux?

As permissões de arquivos no Linux controlam quem pode ler, escrever ou executar um arquivo ou diretório. Todo arquivo no Linux possui três grupos de permissões: proprietário (o usuário que o criou), grupo (usuários que compartilham um grupo comum) e outros (todos os demais). Cada grupo pode receber três tipos de acesso: leitura (r), escrita (w) e execução (x).

As permissões podem ser expressas em duas notações. A notação simbólica utiliza letras como rwxr-xr-x, onde cada caractere representa uma permissão específica para um grupo específico. A notação octal (numérica) utiliza um número de três ou quatro dígitos como 755, onde cada dígito é a soma dos valores de permissão: leitura = 4, escrita = 2, execução = 1.

Um dígito inicial opcional na notação octal representa os bits especiais: setuid (4), setgid (2) e sticky bit (1). O setuid permite que um programa seja executado com os privilégios do proprietário do arquivo, o setgid faz com que novos arquivos herdem o grupo do diretório pai, e o sticky bit impede que usuários excluam arquivos que não lhes pertencem em diretórios compartilhados.

Descrição da ferramenta

Esta ferramenta permite construir e decodificar permissões de arquivos Linux de forma interativa. Marque as caixas de seleção para proprietário, grupo e outros para definir os flags de leitura, escrita e execução, e veja instantaneamente o resultado tanto na notação octal quanto na simbólica. Você também pode digitar um valor octal como 755 ou uma string simbólica como rwxr-xr-x diretamente, e as caixas de seleção e a saída visual são atualizadas automaticamente. Uma exibição visual com código de cores facilita a compreensão de quais permissões estão ativas de relance, e um comando chmod pronto para uso é gerado automaticamente.

Exemplos

Octal Simbólico Significado
755 -rwxr-xr-x Proprietário: acesso total. Grupo e outros: leitura e execução.
644 -rw-r--r-- Proprietário: leitura e escrita. Grupo e outros: somente leitura.
700 -rwx------ Proprietário: acesso total. Sem acesso para grupo ou outros.
777 -rwxrwxrwx Acesso total para todos.
1755 -rwxr-xr-t Igual a 755 com sticky bit definido.
4755 -rwsr-xr-x Igual a 755 com bit setuid definido.

Funcionalidades

  • Alterne individualmente as permissões de leitura, escrita e execução por grupo com caixas de seleção
  • Insira a notação octal (ex.: 755) ou simbólica (ex.: rwxr-xr-x) diretamente e veja a conversão instantânea
  • Blocos visuais com código de cores para reconhecimento rápido das permissões ativas
  • Suporte para bits de permissão especiais: setuid, setgid e sticky bit
  • Comando chmod gerado automaticamente, pronto para copiar e usar no terminal

Casos de uso

  • Configuração de um servidor web: Determine rapidamente o conjunto de permissões correto para arquivos servidos pelo Apache ou Nginx, como 644 para arquivos estáticos e 755 para scripts executáveis.
  • Depuração de erros de acesso negado: Cole a string de permissões da saída do ls -l para entender visualmente qual grupo está sem acesso.
  • Aprendizado de permissões Linux: Explore interativamente como alternar flags individuais altera as representações octal e simbólica.

Como funciona

Cada tipo de permissão possui um peso numérico: leitura = 4, escrita = 2, execução = 1. O dígito octal de um grupo é a soma dos pesos das permissões habilitadas. Por exemplo, leitura + execução = 4 + 1 = 5. A notação octal completa concatena os dígitos do proprietário, grupo e outros — portanto, rwxr-xr-x se torna 755.

Os bits especiais adicionam um dígito inicial opcional calculado da mesma forma: setuid = 4, setgid = 2, sticky = 1. Um valor de 1755 significa sticky bit (1) mais proprietário=7, grupo=5, outros=5.

Explicação das opções

  • Caixas de seleção Proprietário / Grupo / Outros: Alterne leitura (r), escrita (w) e execução (x) para cada grupo de permissões de forma independente.
  • Setuid: Quando definido em um executável, ele é executado com os privilégios do proprietário do arquivo em vez dos do usuário que o invocou.
  • Setgid: Em um diretório, novos arquivos herdam o grupo do diretório. Em um executável, ele é executado com os privilégios do grupo do arquivo.
  • Sticky bit: Em um diretório, somente o proprietário do arquivo pode excluir ou renomear arquivos dentro dele, mesmo que outros tenham permissão de escrita.
  • Entrada octal: Digite um número octal de 3 ou 4 dígitos para definir todas as permissões de uma vez.
  • Entrada simbólica: Digite uma string simbólica de 9 ou 10 caracteres (com prefixo opcional de tipo de arquivo) para definir as permissões.

Perguntas frequentes

O que significa chmod 777? Concede permissões de leitura, escrita e execução ao proprietário, ao grupo e a todos os outros usuários. Isso é geralmente inseguro para sistemas em produção.

Qual é a diferença entre o "s" minúsculo e o "S" maiúsculo? O s minúsculo significa que o bit de execução e o bit especial (setuid ou setgid) estão ambos definidos. O S maiúsculo significa que apenas o bit especial está definido, sem permissão de execução.

Para que serve o sticky bit? O sticky bit é comumente definido em diretórios compartilhados como /tmp para impedir que usuários excluam ou renomeiem os arquivos uns dos outros, mesmo que todos tenham acesso de escrita ao diretório.