Calculadora de chmod
Marque as permissões de dono, grupo e outros e obtenha o número octal, a notação rwx e o comando chmod.
| Quem | Ler (r) | Escrever (w) | Executar (x) |
|---|---|---|---|
| Dono (u) | |||
| Grupo (g) | |||
| Outros (o) |
Processamento local: nada do que você digita sai do seu navegador.
Como usar
Marque as caixas de leitura, escrita e execução ou digite direto o valor octal (como 755) ou o simbólico (como rwxr-xr-x). Os outros campos acompanham, e o comando fica pronto para copiar.
Como o octal funciona
Cada permissão vale um número: leitura = 4, escrita = 2, execução = 1. Some os valores para dono, grupo e outros. Exemplo: rwx = 4+2+1 = 7 e r-x = 4+1 = 5, então rwxr-xr-x é 755.
Valores comuns
644: arquivos comuns (dono lê e escreve, demais só leem).755: scripts e pastas.600: arquivos privados, como chaves SSH.777: acesso total para todos; evite em servidores.
Como implementar em código
Exemplos prontos para usar no seu projeto.
// Octal -> simbólico (ex.: 0o755 -> "rwxr-xr-x")
function simbolico(modo) {
return [6, 3, 0].map((s) => {
const b = (modo >> s) & 7;
return (b & 4 ? 'r' : '-') + (b & 2 ? 'w' : '-') + (b & 1 ? 'x' : '-');
}).join('');
}
console.log(simbolico(0o755)); // rwxr-xr-x
// Aplicar no Node.js:
// require('fs').chmodSync('script.sh', 0o755);import os, stat
def simbolico(modo: int) -> str:
return stat.filemode(stat.S_IFREG | modo)[1:] # "-rwxr-xr-x" sem o tipo
print(simbolico(0o755)) # rwxr-xr-x
os.chmod("script.sh", 0o755) # aplica a permissãopackage main
import "os"
func main() {
// Aplica rwxr-xr-x (0755). Em Go, o prefixo 0o indica octal.
if err := os.Chmod("script.sh", 0o755); err != nil {
panic(err)
}
// os.FileMode(0o755).String() retorna "-rwxr-xr-x"
}import 'dart:io';
Future<void> main() async {
// Dart não tem chmod nativo: chama o comando do sistema (Linux/macOS)
final r = await Process.run('chmod', ['755', 'script.sh']);
if (r.exitCode != 0) print(r.stderr);
}import java.nio.file.*;
import java.nio.file.attribute.PosixFilePermissions;
public class Chmod {
public static void main(String[] args) throws Exception {
// "rwxr-xr-x" equivale a 755 (somente sistemas POSIX)
Files.setPosixFilePermissions(Path.of("script.sh"),
PosixFilePermissions.fromString("rwxr-xr-x"));
}
}<?php
// Em PHP o octal precisa do 0 na frente (sem aspas)
chmod('script.sh', 0755);
// Ler a permissão atual em octal:
echo substr(sprintf('%o', fileperms('script.sh')), -4);using System.IO;
// .NET 7+ (Linux/macOS): 755 = rwxr-xr-x
File.SetUnixFileMode("script.sh",
UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute |
UnixFileMode.GroupRead | UnixFileMode.GroupExecute |
UnixFileMode.OtherRead | UnixFileMode.OtherExecute);Perguntas frequentes
O que significa chmod 755?
O dono pode ler, escrever e executar; grupo e outros podem ler e executar. É o padrão para scripts e diretórios.
Para que servem setuid, setgid e sticky bit?
Com setuid ou setgid o programa roda com a permissão do dono ou do grupo do arquivo. O sticky bit, comum em /tmp, impede que usuários apaguem arquivos de outros em uma pasta compartilhada.
Posso usar 777 em um servidor?
Evite. Dá a qualquer usuário permissão para alterar e executar o arquivo. Prefira 755 para pastas e 644 para arquivos.
Veja também
Precisa de um sistema ou app sob medida?
A VcInova desenvolve software, aplicativos e integrações para empresas de todo o Brasil.
Fale com a VcInova