Calculadora Chmod

Classe Ler (r) Escrever (w) Executar (x)
Proprietário
Grupo
Outros
Próximo

As permissões de arquivos Unix vêm em três trios, ler, escrever, executar para usuário, grupo, outros, que se colapsam de forma organizada em um número octal de três dígitos. chmod 755 script.sh é rwxr-xr-x: o proprietário tem tudo, grupo e outros têm permissão de leitura e execução. Esta calculadora permite que você altere cada caixa de seleção e veja a mudança octal ao vivo, ou cole um número octal e veja a decomposição rwx, com o comando chmod exato pronto para copiar.

Como funcionam as permissões chmod

  1. 1

    Alterne os 9 bits de permissão

    Três grupos (usuário, grupo, outros) × três permissões (ler, escrever, executar) = 9 caixas de seleção.

  2. 2

    Cada grupo se torna um dígito octal

    Ler = 4, escrever = 2, executar = 1. Some os bits que você deseja habilitar.

  3. 3

    Leia a forma octal e simbólica resultante

    por exemplo, 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    Copie o comando chmod

    A ferramenta mostra o comando chmod para as permissões atuais, pronto para copiar. Exemplos: chmod 755 nome_do_arquivo, chmod u+x nome_do_arquivo, chmod -R 755 diretório.

Valores dos bits de permissão

Bit Valor Significado para arquivos Significado para diretórios
Ler 4 Pode visualizar conteúdos Pode listar entradas
Escrever 2 Pode modificar Pode criar / deletar / renomear entradas
Executar 1 Pode executar como um programa Pode percorrer (cd para dentro, acessar)

Valores chmod comuns

Octal Simbólico Uso típico
777 rwxrwxrwx Gravável por todos, perigoso; raramente correto
755 rwxr-xr-x Scripts, binários, diretórios
750 rwxr-x--- Scripts privados para você e seu grupo
700 rwx------ Scripts privados para você (SSH, ~/.ssh)
644 rw-r--r-- Documentos públicos, imagens, HTML
640 rw-r----- Configurações legíveis pelo grupo
600 rw------- Configurações privadas, chaves privadas SSH, ~/.netrc
444 r--r--r-- Arquivos publicados somente para leitura
400 r-------- Somente leitura privada (raramente correto; use 600)

Permissões especiais (raras, mas importantes)

  • setuid (4xxx): executa o arquivo como seu proprietário, independentemente de quem o executa. /usr/bin/passwd usa isso.
  • setgid (2xxx): em arquivos, executa como o grupo. Em diretórios, novos arquivos herdam o grupo do diretório.
  • sticky bit (1xxx): em diretórios, apenas o proprietário do arquivo pode deletar/renomear. /tmp usa isso.

Octais de quatro dígitos incluem estes: chmod 4755 binário-setuid ativa setuid junto com 755.

Chmod simbólico

Muitos administradores preferem a forma simbólica para alterações incrementais:

  • chmod u+x script, adiciona execução apenas para o proprietário.
  • chmod go-w arquivo, remove escrita para grupo e outros.
  • chmod a+r arquivo, dá leitura a todos (usuário, grupo, outros).
  • chmod u=rw,go=r arquivo, define exatamente esses bits.
  • chmod -R 755 diretório, recursivo.

Erros comuns

  • 777 em pastas de uploads: parece “corrigir permissões”; na verdade, abre o servidor para atacantes. Use uma combinação mais restrita (por exemplo, 755 com a propriedade de grupo correta).
  • chmod -R 644 em diretórios: remove a execução em diretórios, então você não pode cd para dentro deles. Use 755 para diretórios, 644 para arquivos regulares.
  • 0600 vs 600: zero à esquerda indica octal em C e shell; a maioria das implementações chmod aceita ambos.
  • Umask: novos arquivos herdam 666 menos a umask. A umask padrão 022 dá arquivos 644 e diretórios 755.

Perguntas frequentes

Você normalmente quer que o proprietário possa modificar, e todos os outros possam listar e percorrer. 755 = rwx para o proprietário, r-x para grupo e outros, exatamente essa combinação.

Quase nunca. 777 permite que qualquer pessoa no sistema modifique o arquivo. Em sistemas multiusuário, é uma falha de segurança; em sistemas de usuário único, é desnecessário (o proprietário já tem rwx com 755). Se um aplicativo da web parece precisar de 777, a verdadeira solução é a propriedade correta (chown) ou a associação ao grupo.

~/.ssh diretório: 700. Chaves privadas (id_rsa, id_ed25519): 600. Chaves públicas (.pub): 644. authorized_keys: 600. SSH recusa chaves com permissões mais amplas como medida de segurança.

chown para proprietário, chgrp para grupo, comandos separados. chmod apenas altera bits, não o usuário/grupo que possui o arquivo.

Ferramentas relacionadas