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.
Digite 755, cole rwxr-xr-x ou uma linha inteira do ls -l, ou altere o modo com u+x ou go-w.
| Ler4 | Escrever2 | Executar1 | Dígito | |
|---|---|---|---|---|
| Dono | 4+2+1=7 | |||
| Grupo | 4+1=5 | |||
| Os demais | 4+1=5 | |||
| Especiais | nada=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.
chmod 755 script.shchmod 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.
Marque 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.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.
ls -l imprime primeirols -l notes.txt-Tipoum arquivorw-Dono4 + 26r--Grupo44r--Os demais44| Permissão | Em um arquivo | Em um diretório |
|---|---|---|
| r4 | Ler o que há nele | Listar os nomes que há nele |
| w2 | Alterar o que há nele | Criar, renomear e excluir entradas |
| x1 | Executá-lo como programa | Entrar 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.
chmod 755rwxDonor-xGrupor-xOs demais- Diretórios em que as pessoas precisam entrar
- Scripts e programas
- 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.
644 · 755| Ler | Escrever | Executar | ||
|---|---|---|---|---|
| Dono | r | w | - | 6 |
| Grupo | r | - | - | 4 |
| Outros | r | - | - | 4 |
Arquivos: HTML, CSS, imagens, configuração, código-fonte
| Ler | Escrever | Executar | ||
|---|---|---|---|---|
| Dono | r | w | x | 7 |
| Grupo | r | - | x | 5 |
| Outros | r | - | x | 5 |
Diretórios, scripts e programas
755Um arquivo em 755 pode ser executado, e também todas as imagens e arquivos.phpsob umchmod -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.
chmod 777| Ler | Escrever | Executar | ||
|---|---|---|---|---|
| Dono | r | w | x | 7 |
| Grupo | r | w | x | 7 |
| Outros | r | w | x | 7 |
- 1Qualquer conta, ou qualquer processo executando como uma
- 2substitui o script
- 3e o servidor web o executa
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ê.
$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.
~/.ssh/700drwx------O diretórioid_ed25519600-rw-------Sua chave privadaid_ed25519.pub644-rw-r--r--A chave pública: qualquer pessoa pode lerconfig600-rw-------Sem escrita para os outros
644rw-r--r--Recusada640rw-r-----Recusada600rw-------Aceita400r--------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.
chmod u+x script.shuo donogo grupooos demaisaos três
+adicionar-tirar=definir exatamente como
rlerwescreverxexecutarXexecutar, só em diretórios e em arquivos que já podem ser executadosssetuid ou setgidtsticky
| Alteração | Antes | Depois | |
|---|---|---|---|
u+x | 644 | 744 | Execução para o dono, nada mais é tocado. |
go-w | 775 | 755 | Escrita retirada do grupo e dos demais. |
a=r | 755 | 444 | Os três definidos como leitura, e nada mais. |
u=rw,go=r | 777 | 644 | Três cláusulas: outra forma de escrever 644. |
+rwx | 644 | 755 | Sem classe: os bits do umask (022) não são ligados, então o grupo e os demais ficam sem escrita. |
a+rwx | 644 | 777 | Com o a, o umask não conta: tudo é definido. |
a+Xem um diretório | 644 | 755 | X maiúsculo em um diretório: a execução é adicionada, porque ele é um diretório. |
a+Xem um arquivo | 644 | 644 | 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ê.
root root /usr/bin/passwdO 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.
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.
root wheel /private/tmpTodos 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 → Limpe-o com cinco dígitos ou com as letras:$chmod 00755 project → $chmod g-s project → 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.
umask 022| Parte de | rw-rw-rw- | 666 |
|---|---|---|
| umask | ····w··w· | 022 |
| Fica com | rw-r--r-- | 644 |
| Parte de | rwxrwxrwx | 777 |
|---|---|---|
| umask | ····w··w· | 022 |
| Fica com | rwxr-xr-x | 755 |
| umask | Novo arquivo | Novo diretório |
|---|---|---|
022 | 644 | 755 |
002 | 664 | 775 |
027 | 640 | 750 |
077 | 600 | 700 |
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.
| A pasta | Agora | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
site/ | 755 | 755 | 644 | 755 | 755 |
index.html | 644 | 755 | 644 | 644 | 644 |
app.php | 644 | 755 | 644 | 644 | 644 |
deploy.sh | 755 | 755 | 644 | 644 | 755 |
img/ | 755 | 755 | 644 | 755 | 755 |
logo.png | 644 | 755 | 644 | 644 | 644 |
- 1
$chmod -R 755 siteTodo arquivo pode ser executado - 2
$chmod -R 644 siteNenhuma pasta pode ser acessada - 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
$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.
icacls| Dígito | Letras | Direito mais próximo |
|---|---|---|
| 7 | rwx | (RX,W)Ler, escrever e executar |
| 6 | rw- | (R,W)Ler e escrever |
| 5 | r-x | (RX)Ler e executar |
| 4 | r-- | (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.
/homeNo sistema de arquivos do Linux: ochmodfunciona como em qualquer Linux./mnt/cEm/mnt/csem a opçãometadata: os modos vêm dos direitos do Windows, e ochmodquase não altera nada./mnt/c · metadataCommetadata: ochmodfunciona, 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.
ls -l, campo por campols -l notes.txt-TipoPermissões+Marcador1LinksyouDonostaffGrupo4096Tamanho25 Oct 09:26Alteradonotes.txtNome- Linux
$stat -c '%a %n' notes.txt644 notes.txt - macOS
$stat -f '%Lp %N' notes.txt644 notes.txt
-rw-r--r--+Linux: uma ACL POSIX (ogetfacla lista). macOS: informações de segurança estendidas, como uma ACL.-rw-r--r--@macOS: atributos estendidos.-rw-r--r--.lsdo 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?
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?
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?
O que o chmod +x faz?
+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?
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?
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?
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?
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?
-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?
+ 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?
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á?
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
Ferramentas relacionadas
Gerador de Senhas
Senhas, frases-senha e PINs fortes e aleatórios, gerados no navegador, com bits exatos e tempo de quebra
Gerador de UUID
Gere UUID v4, v7, v1, v5 e v3 ou GUIDs em massa, em qualquer formato, e decodifique a versão e o timestamp de um UUID
Tradutor de Texto para Binário
Traduza texto para binário e binário para texto: detecção automática, hex, decimal e octal
Decodificar e Codificar Base64
Decodifique e codifique Base64: texto (UTF-8, seguro para URL), imagens, PDFs e qualquer arquivo em Base64 ou data URI
Conversor de Timestamp Unix
Converta timestamps Unix em datas e datas em tempo epoch, em qualquer fuso horário, com conversão em lote
Decodificar CSR e Certificado
Decodifique um CSR ou certificado SSL: requerente, SANs, tamanho da chave, validade, emissor, fingerprint, verificação da assinatura e correspondência CSR-certificado