Conversor de chmod simbólico para octal
Converta modos chmod entre a notação octal e a simbólica: 755 para u=rwx,g=rx,o=rx e vice-versa. Também aplica alterações como u+x ou go-w a um modo atual, lida com setuid, setgid e sticky bit e interpreta strings de ls -l. Executado no navegador.
Entrada
O modo antes da alteração, usado por modos simbólicos como u+x. + e - adicionam permissões e as removem.Limita alterações simbólicas sem u, g, o ou a, como +w.
Saída
Leia-me
O que são os modos octal e simbólico do chmod?
chmod define as permissões de um arquivo no Linux, macOS e em outros sistemas Unix, e aceita essas permissões em duas notações. Um modo octal, como 755, tem um dígito para o proprietário, o grupo e todos os demais, sendo 4 para leitura, 2 para escrita e 1 para execução. Um modo simbólico, como u=rwx,g=rx,o=rx, nomeia as classes (u proprietário, g grupo, o outros, a todos) e as permissões (r, w, x).
Os modos simbólicos também podem alterar permissões em vez de defini-las todas: u+x adiciona a permissão de execução ao proprietário, go-w remove a permissão de escrita do grupo e dos outros, e g=u copia as permissões do proprietário para o grupo. Um modo octal sempre define todas as permissões, portanto o resultado octal de uma alteração depende do modo que o arquivo tinha antes.
Descrição da ferramenta
Esta ferramenta converte modos do chmod entre as notações octal e simbólica. Escolha a notação de origem e a de destino ou deixe a origem em detecção automática: insira 755 para obter u=rwx,g=rx,o=rx, ou insira um modo simbólico para obter o valor octal. Para alterações como u+x ou a+X, insira o modo atual do arquivo e veja o modo que o chmod deixaria nele. Você também pode colar uma string de permissões de ls -l, como -rwxr-xr-x, ou um comando chmod completo.
Exemplos
| Octal | Simbólico | ls -l | Uso típico |
|---|---|---|---|
| 644 | u=rw,go=r |
-rw-r--r-- |
Arquivos comuns |
| 755 | u=rwx,go=rx |
-rwxr-xr-x |
Scripts, programas e diretórios |
| 600 | u=rw,go= |
-rw------- |
Arquivos privados, como chaves SSH |
| 2775 | u=rwx,g=rwxs,o=rx |
drwxrwsr-x |
Diretórios compartilhados que mantêm o grupo |
| 1777 | a=rwx,+t |
drwxrwxrwt |
/tmp e outras pastas temporárias compartilhadas |
| 4755 | u=rwxs,go=rx |
-rwsr-xr-x |
Programas como passwd |
Recursos
- Converte octal em simbólico e simbólico em octal, com um botão de troca para alternar a direção
- Detecta a notação do modo inserido ou converte a partir da notação escolhida
- Aplica alterações relativas como
u+x,go-w,a=r,u+w,g=uea+Xa um modo atual - Lida com setuid, setgid e sticky bit (
s,te modos octais de 4 dígitos) - Escreve o modo simbólico por extenso (
u=rwx,g=rx,o=rx) ou de forma compacta (u=rwx,go=rx) - Lê e escreve strings de permissões de
ls -l, incluindos,S,teT - Aceita comandos colados, como
sudo chmod -R 755 dir - Indica o caractere exato quando um modo é inválido
Como funciona
Um modo octal é lido como até quatro dígitos: o primeiro, opcional, contém setuid (4), setgid (2) e sticky (1), enquanto os outros três contêm as permissões do proprietário, do grupo e dos outros. Um modo simbólico é lido cláusula por cláusula, seguindo a gramática POSIX, e aplicado ao modo atual da mesma forma que o chmod do GNU no Linux:
+adiciona permissões,-remove-as e=define-as e limpa o restante para as classes nomeadas.Xadiciona a permissão de execução apenas a diretórios e a arquivos que já tenham execução para alguém.sdefine setuid comue setgid comg.tdefine o sticky bit como,aou sem classe.- Sem uma classe, como em
+x, a alteração aplica-se a todos, exceto aos bits bloqueados pela umask. - Em diretórios, setuid e setgid permanecem como estão, a menos que o modo os nomeie, como em
g-s.
A saída simbólica define cada bit explicitamente, portanto, em um arquivo, produz o mesmo resultado independentemente do modo que o arquivo tinha antes. O sticky bit é escrito como uma cláusula +t separada porque tanto o chmod do GNU quanto o BSD aceitam-no nesse formato.
Dicas
- Use
a+Xcomchmod -Rpara tornar os diretórios pesquisáveis sem tornar todos os arquivos executáveis. chmod 755em um diretório não remove setgid com ochmoddo GNU. Usechmod 00755oug-spara removê-lo.- O Ansible e muitos arquivos de configuração esperam um zero inicial, como em
0755. Ative "Sempre mostrar 4 dígitos octais" para obtê-lo. - Um
.ou+após uma string dels -lindica um contexto SELinux ou uma ACL. Usegetfaclpara ver as entradas da ACL, que não são exibidas pelo modo.