Calculadora de Permissões Linux (chmod)

Calcule as permissões de arquivos do Linux nos dois sentidos. Marque ler, escrever e executar para o dono, o grupo e os demais e obtenha o modo octal e o comando a executar — ou cole 755, rwxr-xr-x, u+x ou uma linha inteira do ls -l e veja exatamente o que significa.

Calculado no seu navegador · nada é enviado para lugar nenhum · comportamento do POSIX e do GNU coreutils
Arquivos
Diretórios

Digite 755, cole rwxr-xr-x ou uma linha inteira do ls -l, ou altere o modo com u+x ou go-w.

Tipo
Ler4Escrever2Executar1Dígito
Dono4+2+1=7
Grupo4+1=5
Os demais4+1=5
Especiaisnada=0

Em palavras simples

  • O dono pode ler, alterar e executar.
  • O grupo e os demais podem ler e executar.
  • Este arquivo pode ser executado.

Calculado no seu navegador. Nada é enviado para lugar nenhum.

O que o chmod faz?

O chmod define quem pode ler, escrever e executar um arquivo. Um modo tem doze bits, geralmente escritos como três ou quatro dígitos octais: 755, 644, 2775.

Cada um dos três dígitos pertence a uma classe — o dono do arquivo, o grupo do arquivo e os demais — e cada dígito é a soma de três números: ler vale 4, escrever vale 2, executar vale 1. Então 7 é ler, escrever e executar; 5 é ler e executar; 6 é ler e escrever; 4 é só ler. Esse é o sistema inteiro. chmod 755 script.sh diz: dono 7, grupo 5, demais 5.

O quarto dígito, quando existe, leva os três bits especiais — setuid 4, setgid 2 e o bit sticky 1 — e é omitido quando nenhum deles está ligado. A calculadora acima mostra os quatro dígitos de uma vez e a aritmética de cada um, para você parar de consultar os números.

Um modo tem doze bitschmod 755 script.sh
Antesscript.sh
Especiaiss4s2t10
Donor4w2x16
Grupor4w2x14
Os demaisr4w2x14
-rw-r--r--0644
Depoisscript.sh
Especiaiss4s2t10
Donor4w2x17
Grupor4w2x15
Os demaisr4w2x15
-rwxr-xr-x0755
O chmod 755 define todos os bits do modo de uma vez: a partir de 644, isso liga os três bits de execução, um para cada classe. Os três bits de cada classe somam um dígito octal.
Calculadora de chmod com o modo 755 em uma grade de permissões, os dígitos octais, a forma simbólica e o comando chmodCalculadora de chmod com o modo 755 em uma grade de permissões, os dígitos octais, a forma simbólica e o comando chmodMarque ou digiteA grade e os campos são a mesma coisa: mude um e o resto acompanha.Cada dígito4 + 2 + 1 para cada classe, então o número deixa de ser algo para decorar.Cole qualquer coisa755, rwxr-xr-x, u+x ou uma linha inteira do ls -l — ele lê os quatro.O comandoMontado a partir do modo que você escolheu, com o número certo de dígitos e uma forma recursiva que não deixa os seus arquivos iguais.O que significaUma frase simples, mais os avisos que um modo merece.
O modo 755 desmontado: a grade, a aritmética de cada dígito, a forma simbólica e o comando a executar. Selecione um número para ver o que cada parte mostra.

Como funcionam as permissões de arquivos no Linux

Todo arquivo tem um dono, um grupo e um modo. O modo dá três permissões a cada uma de três classes — nove bits — e logo depois do caractere do tipo de arquivo, o ls -l imprime exatamente esses nove caracteres.

-rw-r--r-- é um arquivo (-) cujo dono pode ler e escrever, e cujo grupo e demais só podem ler: modo 644. drwxr-xr-x é um diretório (d) em 755. O primeiro caractere é o tipo: - um arquivo, d um diretório, l um link simbólico, e b, c, p ou s para os tipos especiais. Cole qualquer uma dessas linhas na calculadora e ela lê o modo e o tipo.

Em um diretório, as três permissões significam algo diferente do que em um arquivo. Ler permite listar os nomes que há nele. Executar permite entrar nele e chegar aos arquivos cujos nomes você já conhece. Escrever, junto com executar, permite criar e excluir entradas — por isso excluir um arquivo depende das permissões do diretório, não das do arquivo. Um diretório com leitura mas sem execução é um diretório que você consegue listar e não consegue abrir.

O que o ls -l imprime primeirols -l notes.txt
PermissãoEm um arquivoEm um diretório
r4Ler o que há neleListar os nomes que há nele
w2Alterar o que há neleCriar, renomear e excluir entradas
x1Executá-lo como programaEntrar nele e abrir o que há dentro

Outros primeiros caracteres: d um diretório, l um link simbólico, e b, c, p ou s para os tipos especiais.

O que significa chmod 755?

755 significa que o dono pode ler, escrever e executar o arquivo, e os demais podem ler e executar, mas não alterar. É o modo normal para um diretório e para um programa.

Dígito por dígito: 7 = 4 + 2 + 1, então o dono lê, escreve e executa. 5 = 4 + 1 para o grupo e de novo para os demais, então ambos leem e executam. Escrito por extenso é rwxr-xr-x, e como comando simbólico chmod u=rwx,g=rx,o=rx.

Use para diretórios em que as pessoas precisam poder entrar, e para scripts e binários que elas precisam poder executar. Não use para nada secreto: o último 5 significa que toda conta da máquina pode ler o arquivo. Para os arquivos de um servidor web, a própria documentação do WordPress recomenda 755 ou 750 para diretórios e 644 ou 640 para arquivos.

755, dígito por dígitochmod 755
7=r4w2x14+2+1rwxDono
5=r4-2x14+1r-xGrupo
5=r4-2x14+1r-xOs demais
Use para
  • Diretórios em que as pessoas precisam entrar
  • Scripts e programas
Não use para
  • Nada secreto: todos podem ler

A própria documentação do WordPress: diretórios 755 ou 750, arquivos 644 ou 640.

chmod 644 vs 755: qual eu preciso?

644 para arquivos, 755 para diretórios e para tudo que precisa ser executado. A única diferença é o bit de execução.

644 é rw-r--r--: o dono pode alterar, todos podem ler, ninguém pode executar. Isso serve para HTML, CSS, imagens, configuração e arquivos de código-fonte. 755 é rwxr-xr-x: o mesmo, mais o bit de execução para as três classes. Um diretório precisa dele, ou ninguém consegue entrar no diretório, e um script precisa dele, ou o shell se recusa a executá-lo.

O erro a evitar é o chmod -R 755 em um site inteiro, que torna executáveis todas as imagens e todos os arquivos .php. Os dois comandos find que a calculadora escreve dão modos diferentes a diretórios e arquivos de uma só vez, com os modos que você de fato escolheu, em vez de um par tirado de um blog.

A única diferença é o bit de execução644 · 755
644
LerEscreverExecutar
Donorw-6
Grupor--4
Outrosr--4

Arquivos: HTML, CSS, imagens, configuração, código-fonte

755
LerEscreverExecutar
Donorwx7
Grupor-x5
Outrosr-x5

Diretórios, scripts e programas

Do jeito errado
  • 755Um arquivo em 755 pode ser executado, e também todas as imagens e arquivos .php sob um chmod -R 755.
  • 644Um diretório em 644 mostra os seus nomes, mas ninguém consegue entrar nele nem abrir nada lá dentro.

O que o chmod 777 faz, e é seguro?

777 deixa toda conta da máquina ler, alterar e executar o arquivo. Quase nunca é a resposta certa, e a própria documentação do WordPress diz que nenhum diretório deve receber 777.

Gravável por todos significa que qualquer pessoa que consiga entrar — ou qualquer coisa executando como qualquer usuário, inclusive um processo comprometido — pode substituir o conteúdo do arquivo. Se esse arquivo é um script que o servidor web executa, você entregou o servidor. A página de permissões do WordPress recomenda 755 ou 750 para diretórios e 644 ou 640 para arquivos, e diz que nenhum diretório deve ser 777, nem mesmo um diretório de uploads.

Quando um aplicativo web não consegue escrever em um diretório, a correção está no dono ou no grupo, não no modo: use chown no diretório para o usuário como o qual o servidor web executa, ou adicione esse usuário a um grupo compartilhado e use 775. A calculadora avisa sempre que um modo deixa todos escreverem: em um arquivo sempre, e em um diretório a menos que o bit sticky impeça as pessoas de excluírem os arquivos umas das outras.

Quem pode escrever em 777chmod 777
777Todos podem alterar
LerEscreverExecutar
Donorwx7
Gruporwx7
Outrosrwx7
  1. 1Qualquer conta, ou qualquer processo executando como uma
  2. 2substitui o script
  3. 3e o servidor web o executa
O que a documentação pede

WordPress · Diretórios 755 ou 750, arquivos 644 ou 640.

“Nenhum diretório deve receber 777, nem mesmo os de uploads.”

A correção está no dono ou no grupo, não no modo: use chown para o usuário do servidor web, ou compartilhe um grupo e use 775.

Por que o SSH diz que as permissões da minha chave estão abertas demais?

O OpenSSH se recusa a usar uma chave privada que qualquer pessoa além do dono consiga ler. Defina a chave como 600 e o diretório .ssh como 700.

A mensagem exata é Permissions 0644 for '<path>' are too open., seguida de It is required that your private key files are NOT accessible by others. O teste por trás dela é direto: se você é o dono do arquivo e qualquer bit de grupo ou de demais está ligado, a chave é recusada. Por isso 640 também falha, e por isso 600 é a resposta, e não “um pouco menos que 644”.

chmod 600 ~/.ssh/id_ed25519 e chmod 700 ~/.ssh resolvem. A chave pública pode ser legível por qualquer pessoa — só a chave privada e o diretório importam aqui. Escolha Chave SSH em modos comuns acima e a calculadora escreve os dois comandos para você.

O que o ssh imprime
$ssh you@server.example
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/you/.ssh/id_ed25519' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
O que o OpenSSH verifica
Os arquivos, e os modos que passam
  • ~/.ssh/700drwx------O diretório
  • id_ed25519600-rw-------Sua chave privada
  • id_ed25519.pub644-rw-r--r--A chave pública: qualquer pessoa pode ler
  • config600-rw-------Sem escrita para os outros
O teste, bit por bit
  • 644rw-r--r--Recusada
  • 640rw-r-----Recusada
  • 600rw-------Aceita
  • 400r--------Aceita

Grupo e demais: todos devem estar desligados

Modo simbólico: u, g, o, a com +, - e =

chmod u+x script.sh adiciona um bit sem mexer no resto. O + adiciona, o - remove, o = define uma classe exatamente como você listar.

A gramática é [quem][operador][permissões], com vírgulas entre as cláusulas: u o dono, g o grupo, o os demais, a os três. Então go-w tira a escrita do grupo e dos demais, a=rwx define tudo, e u=rw,go=r é outra forma de escrever 644. Cole qualquer um desses na calculadora acima e ela mostra quais bits mudam, antes e depois.

Duas partes da gramática são fáceis de errar, e a calculadora segue as duas. O X — um X maiúsculo — adiciona o bit de execução só a um diretório, ou a um arquivo que já é executável em algum lugar, o que torna o chmod -R u=rwX,go=rX seguro em uma árvore mista. E uma cláusula sem classe nenhuma, como +x, não é o mesmo que a+x: os bits ligados no seu umask são deixados em paz, então com o umask usual de 022, chmod +rwx em um arquivo 644 dá 755, enquanto chmod a+rwx dá 777.

quem · operador · permissõeschmod u+x script.sh
  • uo dono
  • go grupo
  • oos demais
  • aos três
  • +adicionar
  • -tirar
  • =definir exatamente como
  • rler
  • wescrever
  • xexecutar
  • Xexecutar, só em diretórios e em arquivos que já podem ser executados
  • ssetuid ou setgid
  • tsticky
Exemplos resolvidos
AlteraçãoAntesDepois
u+x644rw-r--r--744rwxr--r--Execução para o dono, nada mais é tocado.
go-w775rwxrwxr-x755rwxr-xr-xEscrita retirada do grupo e dos demais.
a=r755rwxr-xr-x444r--r--r--Os três definidos como leitura, e nada mais.
u=rw,go=r777rwxrwxrwx644rw-r--r--Três cláusulas: outra forma de escrever 644.
+rwx644rw-r--r--755rwxr-xr-xSem classe: os bits do umask (022) não são ligados, então o grupo e os demais ficam sem escrita.
a+rwx644rw-r--r--777rwxrwxrwxCom o a, o umask não conta: tudo é definido.
a+Xem um diretório644rw-r--r--755rwxr-xr-xX maiúsculo em um diretório: a execução é adicionada, porque ele é um diretório.
a+Xem um arquivo644rw-r--r--644rw-r--r--X maiúsculo em um arquivo que ninguém executa: nada é adicionado.

Setuid, setgid e o bit sticky

O quarto dígito. Em um arquivo, setuid e setgid mudam com qual conta um programa executa. Em um diretório, o setgid decide o grupo dos novos arquivos e o bit sticky decide quem pode excluí-los.

O setuid (4000) em um executável faz com que ele execute como o dono do arquivo, e não como você — o passwd é instalado com setuid para poder executar com os direitos do root quando você troca a sua senha. O setgid (2000) faz o mesmo com o grupo. Em um diretório, o setgid faz algo diferente e muito mais útil: os novos arquivos lá dentro herdam o grupo do diretório, e não o de quem os criou, que é como uma pasta de projeto compartilhado continua compartilhada. O Linux não documenta nenhum significado para o bit setuid em um diretório; no macOS e nos BSDs ele pode fazer os novos arquivos ficarem com o dono do diretório, se o sistema de arquivos foi montado com essa opção.

O bit sticky (1000) em um diretório impede que as pessoas excluam os arquivos umas das outras: só o dono do arquivo, o dono do diretório ou o root podem remover ou renomear uma entrada. O /tmp tem o modo 1777 exatamente por isso — todos podem escrever nele, ninguém pode excluir o trabalho de outra pessoa. Em um arquivo comum, o macOS e os BSDs ignoram o bit sticky, e o manual do GNU só lhe dá um significado aí em alguns sistemas mais antigos. Uma armadilha: chmod 755 somedir — ou chmod 0755 somedir — não limpa um bit setgid que já está em um diretório, porque o chmod do GNU os mantém de propósito com qualquer modo numérico de menos de cinco dígitos — o POSIX só exige que a forma octal os limpe em um arquivo comum. Use g-s, ou o chmod 00755 de cinco dígitos, e a calculadora escreve a forma de cinco dígitos para você sempre que for o que você precisa.

Setuid4755

Um programa executa como o dono do arquivo, não como você.

Linux-rwsr-xr-x root root /usr/bin/passwd

O passwd é instalado assim, então executa com os direitos do root quando você troca a sua senha.

Em um diretório: sem significado documentado no Linux. No macOS e nos BSDs, os novos arquivos ficam com o dono do diretório se o sistema de arquivos foi montado com essa opção.

Setgid2775

Em um diretório, os novos arquivos ficam com o grupo do diretório em vez do seu.

Linuxdrwxrwsr-x you devs project/

Um diretório de projeto compartilhado continua compartilhado: todo novo arquivo pertence à equipe.

No macOS e nos BSDs, um novo arquivo sempre fica com o grupo do seu diretório, com ou sem este bit.

Sticky1777

Em um diretório, só o dono do arquivo, o dono do diretório ou o root podem excluir ou renomear um arquivo.

macOSdrwxrwxrwt root wheel /private/tmp

Todos podem escrever no /tmp, e ninguém pode excluir os arquivos de outra pessoa.

Em um arquivo, o bit sticky é ignorado no macOS e nos BSDs.

A armadilha do GNU: o chmod 755 em um diretório deixa o seu bit setgid ligado.

$chmod 755 project → drwxr-sr-xLimpe-o com cinco dígitos ou com as letras:$chmod 00755 project → drwxr-xr-x$chmod g-s project → drwxr-xr-x

umask: o que os novos arquivos recebem

Um novo arquivo parte de 666 e um novo diretório de 777, e todo bit ligado no umask é desligado. O umask usual de 022 dá 644 e 755.

O umask não é uma subtração, é uma máscara: todo bit ligado no umask é desligado no modo que o programa pediu. Com umask 077, um novo arquivo fica 600 e um novo diretório 700 — privados por padrão. Com umask 002 você obtém 664 e 775: o grupo também pode escrever.

Um umask nunca consegue deixar um arquivo executável, porque o modo base de um arquivo não tem nenhum bit de execução para começar — só os diretórios partem de 777. É por isso que um script que você acabou de criar nunca é executável até você dizer chmod +x. Mude para a aba umask acima para ver o que qualquer umask produz, e abra qualquer um dos resultados direto na calculadora.

Desligado, bit por bitumask 022
Um novo arquivo
Parte derw-rw-rw-666
umask····w··w·022
Fica comrw-r--r--644
Um novo diretório
Parte derwxrwxrwx777
umask····w··w·022
Fica comrwxr-xr-x755
Valores comuns de umask
umaskNovo arquivoNovo diretório
022644 rw-r--r--755 rwxr-xr-x
002664 rw-rw-r--775 rwxrwxr-x
027640 rw-r-----750 rwxr-x---
077600 rw-------700 rwx------

Nenhum umask consegue deixar um arquivo executável: um novo arquivo parte sem nenhum bit de execução para manter.

Como alterar uma pasta e tudo que está dentro dela

O chmod -R 755 pasta dá o mesmo modo a diretórios e arquivos, o que torna todo arquivo executável. Dois comandos find dão a cada tipo o modo que ele deve ter.

find pasta -type d -exec chmod 755 {} + e find pasta -type f -exec chmod 644 {} + percorrem a árvore uma vez cada e definem diretórios e arquivos separadamente. A calculadora escreve os dois com os modos que você escolheu, não um par fixo. O + no final agrupa os arquivos no menor número possível de execuções do chmod, o que importa em uma árvore grande.

A outra forma segura é o X maiúsculo: chmod -R u=rwX,go=rX pasta adiciona a execução só aos diretórios e aos arquivos que já podem ser executados. E depois de qualquer alteração recursiva, stat -c '%a %n' pasta/* lê de volta tudo um nível abaixo.

Uma pasta, quatro jeitos
A pastaAgora1234
site/755755644755755
index.html644755644644644
app.php644755644644644
deploy.sh755755644644755
img/755755644755755
logo.png644755644644644
  1. 1$chmod -R 755 siteTodo arquivo pode ser executado
  2. 2$chmod -R 644 siteNenhuma pasta pode ser acessada
  3. 3$find site -type d -exec chmod 755 {} +$find site -type f -exec chmod 644 {} +Cada tipo recebe o seu próprio modoUm script perde o x também
  4. 4$chmod -R u=rwX,go=rX siteCada tipo recebe o seu próprio modoUm arquivo que já podia ser executado mantém o x

Existe chmod no Windows?

Não exatamente a mesma coisa. O Windows usa listas de controle de acesso, e o icacls é o comando mais próximo: icacls file /grant Users:(RX).

As permissões do NTFS são uma lista de entradas, cada uma nomeando um usuário ou grupo e os direitos que ele tem, então não existe um único número de três dígitos para calcular. A tradução mais próxima é por classe: ler vira R, ler e executar RX, escrever W, e executar sozinho vira o direito específico X; um dígito que precisa de dois direitos lista os dois — 7 é (RX,W). Nenhum dígito é Modificar (Modify, M), que também permite excluir, nem Controle total (Full control, F), que também permite alterar permissões e assumir a propriedade. A calculadora mostra esse mapeamento ao lado do seu modo, e é a melhor aproximação, não um equivalente.

Dentro do Windows Subsystem for Linux, o chmod funciona de verdade no sistema de arquivos do Linux. Em uma unidade do Windows montada em /mnt/c, só funciona quando essa unidade é montada com a opção metadata. Sem ela, o modo é calculado a partir dos seus direitos no Windows, igual para dono, grupo e os demais, e o chmod pouco pode fazer além de definir o atributo somente leitura — então uma chave guardada no lado do Windows pode parecer aberta demais, e o chmod 600 não resolve ali.

Cada dígito do chmod, o seu direito do icacls mais próximoicacls
DígitoLetrasDireito mais próximo
7rwx(RX,W)Ler, escrever e executar
6rw-(R,W)Ler e escrever
5r-x(RX)Ler e executar
4r--(R)Ler
3-wx(W,X)Escrever e executar
2-w-(W)Escrever
1--x(X)Executar
0---—Nenhum acesso

Uma aproximação, não um equivalente: o Windows mantém uma lista de entradas, cada uma dizendo quem recebe quais direitos. Nenhum dígito é Modificar (Modify, M), que também permite excluir, nem Controle total (Full control, F), que também permite alterar permissões (WDAC) e assumir a propriedade (WO). Nos dois sistemas, o dono sempre pode alterar as permissões de um arquivo.

No WSL
  • /homeNo sistema de arquivos do Linux: o chmod funciona como em qualquer Linux.
  • /mnt/cEm /mnt/c sem a opção metadata: os modos vêm dos direitos do Windows, e o chmod quase não altera nada.
  • /mnt/c · metadataCom metadata: o chmod funciona, mas nunca além do que o Windows permite a você.

Como conferir as permissões de um arquivo

O ls -l as mostra como letras e o stat as mostra como um número. Cole qualquer um dos dois na calculadora e ela lê o modo de volta.

ls -l file imprime -rw-r--r-- 1 you staff 4096 25 Oct 09:26 file, e a calculadora aceita a linha inteira — você não precisa tirar o modo de dentro dela. stat -c '%a %n' file imprime 644 file no Linux; no macOS a mesma coisa é stat -f '%Lp %N' file. Para um diretório inteiro de uma vez, o find . -maxdepth 1 -printf '%m %p\n' do GNU lista todos os modos como número (o find do macOS não tem -printf).

Um + no final da string de permissões significa que há mais do que os nove bits: no Linux é uma ACL POSIX, que o getfacl mostra, e essas entradas extras não estão no modo de forma alguma. No macOS, um @ significa atributos estendidos e um + significa informações de segurança estendidas. Com o ls do GNU, um ponto (.) significa um contexto de segurança, como o do SELinux. A calculadora aceita os três marcadores e avisa que o modo é só parte da história.

Uma linha do ls -l, campo por campols -l notes.txt
-Tiporw-r--r--Permissões+Marcador1LinksyouDonostaffGrupo4096Tamanho25 Oct 09:26Alteradonotes.txtNome
O modo como número
  • Linux$stat -c '%a %n' notes.txt644 notes.txt
  • macOS$stat -f '%Lp %N' notes.txt644 notes.txt
O caractere depois do modo
  • -rw-r--r--+Linux: uma ACL POSIX (o getfacl a lista). macOS: informações de segurança estendidas, como uma ACL.
  • -rw-r--r--@macOS: atributos estendidos.
  • -rw-r--r--.ls do GNU: um contexto de segurança, como o do SELinux, e nada mais.
  • -rw-r--r-- Nada mais: os nove bits são a história toda.

Calculadora de chmod: perguntas e respostas

O que significa chmod 755?

Dá ao dono ler, escrever e executar, e aos demais ler e executar. Por extenso é rwxr-xr-x. Os dígitos são somas: 7 é 4 + 2 + 1 e 5 é 4 + 1. Use para diretórios, que precisam do bit de execução para que alguém entre neles, e para scripts e programas. Nunca para um arquivo que deve continuar privado.

Qual é a diferença entre chmod 644 e 755?

Um bit por classe: o bit de execução. 644 é rw-r--r--, certo para documentos, imagens, configuração e arquivos de código-fonte. 755 é rwxr-xr-x, certo para diretórios e para tudo que precisa ser executado. Dar 755 aos arquivos torna todos eles executáveis, e por isso um chmod -R 755 recursivo em um site é um erro; defina diretórios e arquivos separadamente.

O que o chmod 777 faz, e é seguro?

Deixa toda conta da máquina ler, alterar e executar o arquivo. Quase nunca é necessário e é um risco real em um servidor compartilhado ou exposto à internet: qualquer coisa que consiga escrever um script que o servidor executa pode tomar o servidor. A própria documentação do WordPress pede 755 ou 750 e 644 ou 640, e diz que nenhum diretório deve ser 777. Quando um aplicativo não consegue escrever em algum lugar, mude o dono ou o grupo, não o modo.

O que o chmod +x faz?

Adiciona o bit de execução para que um arquivo possa ser executado. Note que +x sem classe não é exatamente a+x: uma cláusula sem classe deixa em paz os bits do seu umask, então com o umask usual de 022 o dono, o grupo e os demais recebem execução, enquanto um umask mais rígido, como 077, a dá só ao dono. Escreva chmod a+x ou chmod u+x quando quiser ter certeza de qual.

O que significa chmod 600, e por que o SSH exige isso?

600 é rw-------: só o dono pode ler ou alterar o arquivo. O OpenSSH recusa uma chave privada que qualquer outra conta consiga ler, com a mensagem Permissions 0644 for '<path>' are too open. A verificação é rígida — se você é o dono do arquivo e qualquer bit de grupo ou de demais está ligado, a chave é recusada, então 640 também falha. Use chmod 600 na chave e chmod 700 no ~/.ssh.

O que significa o quarto dígito do chmod?

Ele leva os três bits especiais: setuid 4, setgid 2 e o bit sticky 1. chmod 2775 pasta liga o setgid para que os novos arquivos lá dentro fiquem com o grupo da pasta. chmod 1777 pasta liga o bit sticky para que as pessoas não excluam os arquivos umas das outras, que é o que o /tmp usa. O dígito é omitido quando nenhum deles está ligado.

Por que o chmod 755 não removeu o bit setgid da minha pasta?

Porque o chmod do GNU mantém o setuid e o setgid em um diretório sempre que o modo numérico tem menos de cinco dígitos — 0755 incluído. Isso é proposital e está de acordo com o padrão: o POSIX só exige que a forma octal limpe esses bits em um arquivo comum. Use a forma simbólica chmod g-s pasta, ou escreva os zeros à esquerda como chmod 00755 pasta. Esta calculadora escreve a forma de cinco dígitos automaticamente quando é isso que a sua alteração precisa.

Qual é a diferença entre chmod e chown?

O chmod define o que o dono, o grupo e os demais podem fazer. O chown define quem de fato são o dono e o grupo. Eles respondem a duas metades da mesma pergunta, e um “permission denied” em um servidor web costuma ser um problema de propriedade, e não de modo — os arquivos pertencem ao usuário errado, e nenhum modo abaixo de 777 resolve isso.

Posso colar uma linha do ls -l nesta calculadora?

Sim — a linha inteira, não só o modo. -rw-r--r-- 1 you staff 4096 25 Oct 09:26 notes.txt é lido como modo 644 em um arquivo, e drwxrwsr-x como 2775 em um diretório. O marcador de ACL +, o ponto do contexto de segurança e o @ do macOS são todos reconhecidos. Você também pode colar uma expressão com operador como u+x ou go-w e ver quais bits ela altera.

O que significa o + ou @ depois das permissões?

Eles dizem que os nove bits não são a história toda. No Linux, um + significa que o arquivo tem uma ACL POSIX com entradas além de dono, grupo e demais — o getfacl as mostra, e elas não fazem parte do modo. Com o ls do GNU, um ponto significa um contexto de segurança, como o do SELinux. No macOS, @ significa atributos estendidos e + significa informações de segurança estendidas. Se as permissões se comportam de forma estranha apesar de um modo sensato, olhe aí.

Existe um equivalente do chmod no Windows?

O Windows usa listas de controle de acesso em vez de um modo, então não existe um equivalente exato. O icacls file /grant Users:(RX) é o comando mais próximo, e a calculadora mostra os direitos mais próximos para o seu modo. Dentro do WSL, o chmod funciona normalmente no sistema de arquivos do Linux, mas em uma unidade do Windows em /mnt/c quase não tem efeito, a menos que essa unidade tenha sido montada com a opção metadata.

O que o umask 022 me dá?

644 para um novo arquivo e 755 para um novo diretório. Um novo arquivo parte de 666 e um diretório de 777, e todo bit ligado no umask é desligado. Como um arquivo nunca parte com um bit de execução, nenhum umask consegue deixar um executável — isso é sempre um chmod +x posterior. Use a aba umask acima para testar qualquer valor e abrir qualquer um dos resultados na calculadora.

Sentiu falta de algo?Sugira um recurso ou uma nova ferramenta