Neste artigo
O que e chmod?
chmod (change mode) e um comando Unix e Linux que define as permissões de arquivos e diretorios. Cada arquivo em um sistema Unix tem tres categorias de permissões: proprietario, grupo e outros. Cada categoria pode receber independentemente permissões de leitura, escrita e execução.
Entender chmod e essencial para administração de sistemas, configuração de servidores web e gerenciamento seguro de arquivos. Permissões incorretas sao uma das causas mais comuns de vulnerabilidades de segurança em servidores Linux.
Como as permissões chmod funcionam
As permissões podem ser expressas em duas notacoes: numerica (octal) e simbolica. A notação numerica usa tres digitos (ex. 755).
- Leitura (r = 4) — visualizar o conteudo do arquivo ou listar entradas do diretório
- Escrita (w = 2) — modificar o conteudo do arquivo ou adicionar/remover arquivos em um diretório
- Execução (x = 1) — executar um arquivo como programa ou entrar em um diretório com cd
Cada digito e a soma de suas permissões: 7 = leitura + escrita + execução (4+2+1), 6 = leitura + escrita (4+2), 5 = leitura + execução (4+1), 4 = somente leitura.
Experimente gratuitamente — sem cadastro
Calcular permissões chmod →Valores de permissões comuns
Estes sao os valores chmod mais utilizados e suas aplicações tipicas.
- 755 (rwxr-xr-x) — padrão para arquivos executaveis e diretorios
- 644 (rw-r--r--) — padrão para arquivos regulares
- 700 (rwx------) — diretório ou script privado; somente o proprietario tem acesso
- 600 (rw-------) — arquivo privado como chaves SSH; somente o proprietario pode ler e escrever
- 777 (rwxrwxrwx) — acesso completo para todos; quase nunca apropriado e e um risco de segurança
Implicações de segurança
O principio do menor privilegio se aplica diretamente as permissões de arquivos: conceda apenas as permissões minimas necessarias.
Bits de permissões especiais adicionam outra camada: SUID, SGID e o sticky bit em diretorios impedem que usuários deletem arquivos de outros.
Dicas e melhores praticas
Siga estas diretrizes para manter permissões seguras e funcionais.
- Diretorios precisam de permissão de execução — sem ela, usuários não podem entrar no diretório
- Use chmod recursivo com cuidado — chmod -R 755 torna todos os arquivos executaveis; use find com -type f e -type d separadamente
- Defina padrões umask — umask 022 cria arquivos como 644 e diretorios como 755
Perguntas frequentes
Qual a diferença entre 755 e 777?
Com 755, o proprietario tem controle total enquanto grupo e outros podem apenas ler e executar. Com 777, todos tem controle total. Usar 777 quase nunca e necessario e cria um risco significativo de segurança.
Por que diretorios precisam de permissão de execução?
O bit de execução em um diretório controla a capacidade de atravessa-lo. Sem permissão de execução, um usuário não pode entrar no diretório. Por isso diretorios tipicamente tem 755 enquanto arquivos tem 644.
Quais sao as permissões padrão para novos arquivos?
As permissões padrão dependem da configuração umask. Com o umask comum de 022, novos arquivos sao criados com 644 e novos diretorios com 755.