MiServe DevTools

Os seus autocolantes

Fixe aqui as ferramentas. Ficam guardadas neste navegador.

Calculadora chmod

Marque as permissões, ou escreva um modo como 755 ou rwxr-xr-x, e obtenha o valor octal, a forma simbólica e o comando chmod.

Bits de permissão
Classe Leitura r = 4Escrita w = 2Execução x = 1 Especiais
Dono u
Grupo g
Outros o

O que este modo permite

    Comando com o modo octal
    Comando com o modo simbólico

    Modos comuns

    • O dono pode alterar o ficheiro e todos o podem ler. É o modo habitual de um ficheiro normal.
    • Só o dono pode ler e alterar o ficheiro. Use-o para ficheiros privados, como chaves SSH.
    • O dono pode alterá-lo, e todos o podem ler e executar. É o modo habitual de programas e diretórios.
    • Só o dono o pode ler, alterar e executar. Use-o para diretórios e scripts privados.
    • O dono e o grupo podem alterá-lo, e todos o podem ler e executar. Use-o para diretórios partilhados por um grupo.
    • O dono e o grupo podem alterar o ficheiro, e todos o podem ler.
    • Só o dono pode ler o ficheiro, e nenhuma classe tem permissão de escrita.
    • Todos podem criar ficheiros, mas o sticky bit impede que os utilizadores apaguem os ficheiros uns dos outros. É o modo de /tmp.

    Funciona no seu navegador. Nada do que cola é enviado.

    Sobre esta ferramenta

    Como se forma um modo

    O Unix guarda três conjuntos de permissões para cada ficheiro: um para o dono, um para o grupo e um para todos os outros. Cada conjunto tem três bits, leitura (4), escrita (2) e execução (1), e a soma dos bits ativos dá um algarismo octal. Em 755 o dono tem 4 + 2 + 1 = 7 e o grupo e os outros têm 4 + 1 = 5, o que o ls -l mostra como rwxr-xr-x.

    O campo simbólico também aceita a string completa de dez caracteres do ls -l, como -rw-r--r-- ou drwxr-xr-x. O primeiro carácter é o tipo de ficheiro, não uma permissão, por isso a ferramenta ignora-o.

    O que os bits significam num diretório

    Num diretório, a leitura permite listar os nomes que contém, e a execução permite entrar nele e chegar aos ficheiros lá dentro. A escrita permite criar, apagar e mudar o nome de entradas, mas só em conjunto com a execução. É por isso que um diretório costuma ter execução onde tem leitura. Também significa que apagar um ficheiro depende das permissões do diretório que o contém, e não das permissões do ficheiro.

    setuid, setgid e o sticky bit

    Um quarto algarismo à frente guarda três bits especiais: setuid (4), setgid (2) e sticky (1). O ls -l mostra-os na posição de execução como s ou t. Um S ou T maiúsculo significa que o bit especial está ativo e o bit de execução por baixo dele não está.

    Os dois comandos que esta ferramenta mostra ativam os bits que marcou, mas o chmod nem sempre remove um bit especial que o ficheiro já tenha. O chmod do GNU, que a maioria das distribuições Linux usa, mantém os bits setuid e setgid de um diretório a menos que o modo os indique, mesmo com chmod 755: escreva chmod 00755 ou acrescente a-s para os limpar. O chmod do macOS mantém o sticky bit com uma cláusula como o=rx, e chmod -t remove-o. O sticky bit é mostrado como uma cláusula +t separada porque as duas implementações aceitam essa forma.

    Perguntas

    O que significa chmod 755?

    O dono pode ler, escrever e executar; o grupo e todos os outros podem ler e executar, mas não escrever. É o modo habitual de programas, scripts e diretórios que outros podem usar mas só o dono pode alterar.

    Que permissões deve ter uma chave privada SSH?

    Use 600, para que só o dono possa ler e escrever o ficheiro. O OpenSSH recusa usar uma chave privada que outros utilizadores possam ler.

    Porque é que devo evitar o chmod 777?

    O modo 777 permite que qualquer utilizador do sistema altere ou substitua o ficheiro e, se for um diretório, que lhe acrescente ou apague ficheiros. Se um programa falhar com um erro de permissões, descubra com que utilizador corre e dê a esse utilizador ou ao seu grupo o acesso de que precisa.

    O que significa um S ou T maiúsculo no ls -l?

    Significa que o setuid, o setgid ou o sticky bit está ativo, mas o bit de execução na mesma posição não está. Um s ou t minúsculo significa que ambos estão ativos.

    O que escrevo é enviado para algum servidor?

    Não. A conversão é feita por JavaScript no separador do seu navegador. A ferramenta não faz nenhum pedido de rede com o que escreve, e a política de segurança do site bloqueia pedidos a qualquer outro servidor.

    Mais ferramentas de Rede