Anúncios incomodam? Ir Sem anúncios Hoje

Calculadora de chmod Permissões de arquivos Unix sem memorizar octal

Publicado em
Calculadora de chmod: Permissões de arquivos Unix sem memorizar octal 1
ANUNCIADO Remover?

Permissões de arquivos Unix confundem quase todos em algum momento. A saída criptografada rwxr-xr-x em ls -la os números octais de três dígitos, a diferença entre chmod, chowne, e chgrp — é muito para manter na cabeça. Este é um referencial que você pode salvar como marcador.

Se você precisar calcular um valor agora, use o Calculadora de chmod — escolha suas permissões visualmente e ele gera a notação octal ou simbólica correta.

Modelo de Permissões

Cada arquivo e diretório tem três conjuntos de permissões:

  • Dono (u) — o usuário que possui o arquivo
  • Grupo (g) — membros do grupo atribuído ao arquivo
  • Outros (o) — todos os demais

Cada conjunto recebe três bits: leitura (r = 4), escrita (w = 2), execução (x = 1). Some-os para obter o dígito octal para aquele conjunto. Assim rwx = 4+2+1 = 7, r-x = 4+0+1 = 5, r-- = 4+0+0 = 4.

Um número octal de três dígitos como 755 significa: o dono recebe 7 (rwx), o grupo recebe 5 (r-x), os outros recebem 5 (r-x).

Lendo a saída do ls -la

-rwxr-xr-x 1 thien www-data 4096 Apr 10 10:00 deploy.sh
drwxr-x--- 2 thien www-data 4096 Apr 10 09:00 private/

O primeiro caractere é o tipo de arquivo: - para um arquivo comum, d para um diretório, l para um link simbólico. Os próximos nove caracteres são os três conjuntos de permissões, na ordem — dono, grupo, outros — três caracteres cada.

Valores comuns de chmod

ValorProprietárioGrupoOutrosUso típico
644rw-r–r–Arquivos web (HTML, CSS, PHP)
755rwxr-xr-xDiretórios, scripts de shell
600rw-Chaves SSH, arquivos de configuração privados
640rw-r–Arquivos de configuração (lidos por grupo)
664rw-rw-r–Arquivos de projeto compartilhados
700rwxScripts privados
777rwxrwxrwxNão use — dá controle completo a todos

Por que 777 está errado

chmod 777 é um atalho comum para resolver mais tarde que tende a permanecer para sempre. Ele dá acesso de escrita a todos os usuários do sistema — e, em contextos web, a qualquer processo PHP — nos seus arquivos. Em um servidor compartilhado, isso é um buraco de segurança. Em um VPS, é uma prática ruim. Resolva o problema real de propriedade com chown em vez de.

chmod vs chown vs chgrp

ComandoO que muda
chmodPermissões de leitura, escrita e execução no arquivo
chownQual usuário (e opcionalmente grupo) possui o arquivo
chgrpQual grupo possui o arquivo
chmod 644 index.php           # Set permissions
chown www-data:www-data .    # Change owner and group
chgrp developers config.yml  # Change group only

Bit Sticky, setUID, setGID

Esses são representados por um dígito octal adicional (como prefixo) ou por substituições por letras na notação simbólica.

  • Bit Sticky (1 / t) — em diretórios, apenas o dono pode excluir seus próprios arquivos. Usado em /tmp.
  • setUID (4 / s no dono x) — o arquivo é executado como seu dono, não como o usuário que o executa. Usado por sudo e passwd.
  • setGID (2 / s no grupo x) — em arquivos: executa com o grupo do arquivo. Em diretórios: novos arquivos herdaram o grupo do diretório, o que é útil para diretórios de projetos compartilhados.
chmod +t /shared/dir          # Add sticky bit
chmod 1755 /shared/dir        # Sticky bit + standard 755
chmod g+s /var/www/project/   # setGID on a directory

Em ls -l saída, setGID em um diretório parece drwxrwsr-x; bit Sticky parece drwxrwxrwt.

Permissões Recursivas: Cuidado com -R

chmod -R aplica permissões a um diretório e a tudo dentro dele. O erro comum: usar 755 define permissão de execução em todos os arquivos, mesmo quando não são necessários. Uma abordagem mais segura separa diretórios de arquivos:

# Apply 755 to directories, 644 to files
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

Resolvendo problemas comuns de permissões

# Web server can't read your files (403 Forbidden)
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

# SSH key refused (WARNING: UNPROTECTED PRIVATE KEY FILE)
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 700 ~/.ssh

# Script won't execute (Permission denied)
chmod +x deploy.sh

# PHP can't write to uploads directory
chown www-data:www-data wp-content/uploads
chmod 755 wp-content/uploads

Pule os cálculos mentais

Traduzir rwxr-x--- para 750 mentalmente é possível, mas tedioso. O Calculadora de chmod no IO Tools permite que você escolha permissões visualmente e mostra instantaneamente tanto o valor octal quanto a notação simbólica — útil quando você precisa estar certo antes de executar chmod -R em um diretório de produção.

Quer eliminar anúncios? Fique sem anúncios hoje mesmo

Instale nossas extensões

Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida

Ao Extensão do Chrome Ao Extensão de Borda Ao Extensão Firefox Ao Extensão Opera

O placar chegou!

Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!

ANUNCIADO Remover?
ANUNCIADO Remover?
ANUNCIADO Remover?

Notícias com destaques técnicos

Envolver-se

Ajude-nos a continuar fornecendo ferramentas gratuitas valiosas

Compre-me um café
ANUNCIADO Remover?