Ferramentas de desenvolvedor · Calculadora Chmod
chmod no Windows, macOS, FAT e compartilhamentos de rede: onde os bits de modo param
· Fundo
chmod unix controle de acesso
Os bits de modo são uma ideia do Unix, e outros sistemas de arquivos os falsificam ou os descartam. Esta postagem aborda o que acontece com as permissões em montagens NTFS, FAT, macOS e SMB ou NFS e como o git reage.
Git mostra todos os arquivos modificados - a única mudança é o modo 100644 para 100755 após a clonagem em um sistema de arquivos diferente
Uma mudança no Git de 100644 para 100755 expõe uma diferença comum: 644 não possui execução, enquanto 755 a inclui para todas as três classes. A decodificação dos valores finais produz rw-r--r-- e rwxr-xr-x. A calculadora não consegue explicar por que o Git relatou a mudança, qual plataforma a produziu ou se as configurações do sistema de arquivos e do repositório influenciaram a observação.
Use o conversor como um decodificador neutro antes de alterar a política. Insira 644 e 755, compare cada caixa de execução e confirme a saída simbólica. O caminho opcional afeta apenas o texto de comando exibido; nada é lido do disco. Sem analisador Git ou acesso a metadados, a página estabelece o significado do modo, mas não a intenção do projeto ou autoridade de permissão.
Uma mudança de modo no Git pode ser decodificada aqui, mas não atribuída a uma plataforma
O comportamento do Windows ACL requer fontes não presentes aqui. A calculadora modela uma classe proprietária, uma classe de grupo, todos os demais e três bits especiais. Não representa entradas de acesso, herança, identidades ou sintaxe do Windows. O esboço menciona metadados WSL, mas o material do repositório fornecido não documenta nenhum, portanto, reivindicações detalhadas da plataforma excederiam as evidências disponíveis.
A notação simbólica continua sendo útil na aritmética mesmo quando o armazenamento usa outro modelo. O analisador aceita nove caracteres de permissão, opcionalmente com um marcador de tipo reconhecido, valida cada posição e os converte em um número inteiro. Ele não pode dizer se o Windows ou WSL persiste, sintetiza ou ignora esse valor. Consulte a documentação da plataforma responsável antes de aplicar os comandos exibidos.
O comportamento dos metadados ACL e WSL do Windows precisa de fontes de plataforma
As máscaras de montagem da família FAT estão fora desta implementação. O painel não possui campo umask, fmask, dmask, mount-option ou sistema de arquivos. Ele pode dividir um modo relatado em proprietário, grupo e outros bits, mas não pode derivar esse modo da configuração ou provar como FAT ou exFAT o produziu. Alegações de comportamento mais amplas precisam de fontes de plataforma externas.
Siga a direção que as evidências apoiam. Obtenha um modo eficaz a partir de uma observação confiável do sistema, depois insira-o e inspecione os sinalizadores de leitura, gravação e execução representados. O resumo de quatro dígitos também revela os bits especiais fornecidos. Não reverta essa aritmética em um diagnóstico de montagem: o número inteiro não registra nenhuma origem e a página não consulta nenhum armazenamento.
FAT-as máscaras de montagem da família estão fora da implementação
Os metadados extras do macOS não são analisados por esta rota. A entrada simbólica espera nove posições de permissão, opcionalmente precedidas por um caractere de tipo de arquivo reconhecido. Ele não aceita indicadores finais, não lê entradas ou sinalizadores ACL e não consulta metadados de caminho. Um modo rwx básico pode ser decodificado separadamente, mas cada sinal adicional do macOS permanece fora dessas fontes.
Dado um 755 limpo, a calculadora renderiza rwxr-xr-x e explica-o para o alvo selecionado. Executar diretório significa inserir e acessar entradas nomeadas; executar arquivo significa executar um programa. Essa distinção apoiada pela implementação sobrevive à atribuição de plataforma. Qualquer regra de acesso, notação ou interação adicional do macOS com bits de modo requer evidências específicas não disponíveis neste material do repositório.
Os metadados extras do macOS não são analisados por esta rota
O mapeamento de identidade ou síntese de modo de SMB e NFS está fora da implementação. O conversor não entra em contato com nenhum servidor, não lê nenhuma configuração de montagem, não resolve nenhum UID e não pode identificar o proprietário ou grupo. Suas classes são slots abstratos derivados de um número inteiro. Um modo relatado por uma montagem de rede permanece decodificável, mas o comportamento detalhado do sistema de arquivos de rede não é suportado aqui.
Este limite evita um erro de categoria. Modo 775 significa que o proprietário e o grupo têm rwx enquanto outros têm rx. Ele não revela propriedade remota, associação a grupos, mapeamento de identidade ou se um servidor sintetizou a exibição. Verifique os bits apresentados aqui e, em seguida, reúna evidências de exportação, cliente, servidor e identidade do ambiente real antes de decidir a autorização.
A identidade ou síntese de modo de SMB e NFS está fora da implementação
Quando o Git relatar uma mudança de modo, decodifique os valores antes de revisar a política. Para 100644 e 100755, use 644 e 755: rw-r--r-- torna-se rwxr-xr-x. Proprietário, grupo e outros ganham execução porque seu número adquire peso 1. Isso estabelece a diferença semântica sem atribuir uma causa ao Git, a uma plataforma ou a um sistema de arquivos.
Determine a intenção a partir das evidências do projeto que essas fontes não contêm. A calculadora não pode ler core.fileMode, analisar .gitattributes, inspecionar o índice ou decidir se o estado executável é autoritativo. Seu comando baseado em caminho permanece não executado. Leve a diferença de rwx verificada para a revisão do repositório e, em seguida, altere a política somente após identificar a fonte de verdade pretendida.
Exemplo resolvido: decodifique o modo de relatórios do Git antes de alterar a política do repositório
Os comandos de permissão do Windows pertencem a um modelo separado. Esta ferramenta emite formas chmod como valores octais ou u=rw,g=r,o=r. Ele não analisa a sintaxe do Windows nem mapeia três classes Unix em um ACL do Windows. Qualquer tradução aparentemente plausível seria invenção, porque doze bits tradicionais não podem preservar toda identidade e entrada de acesso representada por outro sistema de autorização.
A autorização de armazenamento de objetos é igualmente separada. A calculadora aceita apenas o modo tradicional e nunca entra em contato com um serviço, lê políticas de bucket ou manipula identidades de objetos. Use-o quando um valor octal ou simbólico real no estilo Unix precisar de decodificação. Para armazenamento de objetos e outros modelos, inspecione os dados e a documentação da política nativa em vez de forçá-los à notação chmod.
A sintaxe do Windows e o armazenamento de objetos permanecem modelos separados
Confirme qual camada possui permissão verdadeira antes de usar chmod. Um modo apresentado pelo Git, uma montagem ou outra plataforma pode ser traduzido em proprietário, grupo, outros e bits especiais. A validação detecta dígitos malformados e posições simbólicas, enquanto s, S, t e T preservam o estado especial. A conversão explica o valor, não a sua origem ou autoridade.
A revisão final deve separar a aritmética do meio ambiente. Verifique o modo, registre a classe e o bit exatamente diferentes e identifique o destino como arquivo ou diretório. Em seguida, inspecione a plataforma, o sistema de arquivos, as configurações do repositório, as identidades, as ACLs e as políticas com fontes nativas. A função restrita da página é valiosa: interpretação confiável no modo Unix sem a pretensão de diagnosticar a aplicação entre plataformas.