Português (Brasil)

Ferramentas de desenvolvedor · Calculadora Chmod

Como os dígitos octais do chmod são mapeados para bits de permissão rwx (4, 2, 1)

· Como funciona

chmod unix fluxo de trabalho do desenvolvedor

Dígitos de permissão octais divididos em proprietário, grupo e outros bits rwx
Ilustração vetorial original ToolAcre

Cada dígito octal consiste em três bandeiras binárias disfarçadas. Esta postagem mostra a aritmética que transforma 7 em rwx e 5 em rx, para que você possa ler e escrever qualquer modo sem uma tabela de pesquisa.

O número que você continua colando — chmod 755 funciona, mas você não pode dizer o que 5 concede ou para quem

Executar chmod 755 porque uma resposta do fórum disse isso pode conceder mais acesso do que o necessário para um aplicativo. Um modo Unix é uma codificação compacta de quem pode ler, escrever ou executar um arquivo; o número não é uma configuração arbitrária para colar sempre que a permissão for negada. Antes de alterá-lo, pergunte qual identidade possui o arquivo, em qual grupo um processo é executado e qual ação realmente falhou. Um modo sintaticamente válido não resolve um proprietário errado ou uma permissão de execução ausente do diretório pai.

Três classes, três dígitos - proprietário, grupo e outros recebem, cada um, um dígito octal em uma ordem fixa

Três dígitos octais descrevem três classes em ordem: proprietário, grupo, outros. Em 640, o proprietário recebe 6, o grupo recebe 4 e todos os demais recebem 0. “Outro” não significa root ou conta de serviço; significa identidades que não correspondem nem ao proprietário nem ao grupo do arquivo nas verificações normais de bits de modo. Um quarto dígito inicial opcional lida com modos especiais como setuid, setgid e sticky, que é um tópico separado e não deve ser inferido dos três últimos.

Leia 4, escreva 2, execute 1 — por que os pesos são potências de dois e como eles se somam a qualquer valor de 0 a 7

Cada classe possui três bits com pesos read=4, write=2 e execute=1. Adicione apenas os pesos permitidos: 7=4+2+1 (rwx), 6=4+2 (rw-), 5=4+1 (rx) e 0=---. São potências de dois, portanto nenhuma combinação de três bandeiras independentes produz o mesmo total que outra. Executar diretório significa percorrer, não “executar esta pasta”; um diretório geralmente precisa dele para que os usuários acessem os arquivos internos, mesmo quando o próprio arquivo tem permissão de leitura.

Exemplo resolvido: decodificação de 640 e 751 manualmente - transformando cada dígito em um triplo binário e depois em letras rwx

Decodifique 640 por classe: 6 -> binário 110 -> rw-; 4 -> 100 -> r--; 0 -> 000 -> ---. As nove cartas de permissão são rw-r-----. Decodifique 751: 7 -> rwx, 5 -> rx, 1 -> --x, dando rwxr-x--x. Observe como “outro” em 751 pode percorrer ou executar sem leitura ou gravação. Isso pode ser intencional para um diretório, mas merece revisão em um arquivo confidencial. Use a calculadora Chmod para comparar as saídas octais e simbólicas em vez de memorizar exemplos.

Indo no sentido contrário: de ls -l para octal — lendo rwxr-x--- e somando os pesos por classe

Trabalhe de trás para frente a partir de um modo simbólico como rwxr-x---. O proprietário possui 4+2+1=7, o grupo 4+1=5, e outros 0; o resultado é 750, não 755. Uma exibição longa ls -l também possui um caractere de tipo de arquivo inicial e pode mostrar um + à direita para ACLs, portanto, não alimente toda a sequência de exibição em aritmética de três dígitos. Para um diretório, planeje read/write/execute separadamente para cada classe em vez de copiar o modo de um arquivo vizinho.

O que isso não cobre - o quarto dígito inicial para setuid, setgid e sticky, e ACLs que são marcados com um sinal de mais

Este passo a passo de sete seções cobre os nove bits de permissão comuns. Não explica um 4, 2 ou 1 inicial para setuid, setgid e sticky; esses bits mudam o comportamento de um programa ou diretório e são representados por s/S ou t/T na saída simbólica. As listas de controle de acesso podem conceder ou negar acesso além desta simples imagem. A calculadora ToolAcre suporta bits especiais adicionais, mas você deve ler a explicação separada antes de habilitá-los em um sistema de produção.

Conclusão: um modo tem nove bits que você pode calcular - e a calculadora Chmod permite verificar a conversão em qualquer direção no navegador

Um modo consiste em nove bandeiras que você pode calcular, não um encantamento. A calculadora Chmod converte formas octais e simbólicas em seu navegador para que você possa testar um modo proposto antes de executar qualquer comando chmod. A ferramenta não altera as permissões do seu computador: ela fornece a string e o raciocínio, enquanto o shell e o sistema de arquivos permanecem sob seu controle.