Ferramentas de desenvolvedor · Calculadora Chmod
As duas vidas do sticky bit: do texto residente em swap para /tmp
· Fundo
chmod unix controle de acesso
O t no modo /tmp's significava algo completamente diferente no Unix dos anos 1970. Esta postagem segue o trecho de uma dica de desempenho a uma regra de exclusão e explica o que ela faz hoje.
drwxrwxrwt em /tmp — a última letra não é r, w ou x, e a explicação usual de uma palavra não explica nada
A string drwxrwxrwt mostra por que a aritmética rwx comum não é toda a história. Sticky é o 1000 bit, renderizado na posição final de execução. Com other-execute presente, o caractere é t minúsculo; sem ele, aparece T maiúsculo. Inserir 1777 portanto produz rwxrwxrwt, enquanto o resumo de quatro dígitos preserva o dígito inicial do bit especial.
Esta exibição converte um modo fornecido; ele não inspeciona um diretório. A página divide um valor em bits de proprietário, grupo, outros e bits especiais e, em seguida, reconstrói cada visualização dessas partes. O acordo deles verifica a aritmética, não a propriedade, as ACLs ou a política do sistema de arquivos. O comando chmod gerado permanece em texto simples até que alguém o execute em outro lugar.
O significado original - manter o segmento de texto de um programa em swap após sair para que a próxima execução comece mais rápido em discos lentos
A explicação do arquivo normal diz que é persistente quando solicitado que o texto do programa permaneça em troca. Essa é a afirmação histórica completa apoiada por essas fontes. Eles não citam nenhum manual primário do Unix, data, sistema nomeado ou medida de adoção. Um relato cuidadoso pode contrastar o significado do arquivo anterior com o comportamento atual do diretório sem inventar um histórico mais amplo do sistema operacional.
A calculadora estabelece como o bit é representado. Sticky ocupa octal 1000 e compartilha a posição other-execute em notação simbólica. Assim, 1777 termina em t porque execute está definido, enquanto 1644 termina em T porque está ausente. As máscaras de bits, o analisador, o renderizador e os testes de ida e volta suportam esses fatos, não uma cronologia do comportamento do kernel.
A fonte descreve uma dica de arquivo anterior, mas não fornece nenhuma citação da história primária
Para arquivos regulares, a ferramenta descreve sticky como uma dica de troca histórica que os kernels modernos ignoram. O texto não deve se tornar uma afirmação universal sobre todo kernel ou sistema de arquivos. Este repositório oferece uma explicação sobre a calculadora, não uma pesquisa de plataforma. Seu ponto defensável é mais restrito: sticky não altera as concessões de leitura, gravação ou execução exibidas para um arquivo normal.
A representação permanece exata mesmo quando a execução não é reivindicada. Com outro conjunto de execução, o último caractere é t; sem ele, esse caractere é T. O analisador restaura qualquer forma para o sticky bit e os testes cobrem 1777, 1644 e todos os modos por meio de 7777. Nenhum inicia programas, monta sistemas de arquivos ou consulta um kernel quanto ao comportamento real.
A explicação do arquivo regular diz que os kernels modernos ignoram o sticky; nenhuma reivindicação universal é feita
O comportamento do diretório é o uso moderno que a implementação explica diretamente. Em um diretório compartilhado, o sticky adiciona uma restrição de exclusão e renomeação: as pessoas podem criar entradas, mas a remoção é limitada ao proprietário ou root da entrada. As predefinições capturam 1777 como o padrão /tmp, enquanto a explicação avisa quando um diretório pode ser gravado por todos sem aderência.
A exibição expõe essa distinção sem pretender inspecionar /tmp. Os modos 777 e 1777 compartilham as permissões comuns rwxrwxrwx. Adicionar 1000 altera o x simbólico final para t e anexa +t às atribuições geradas. Proprietário, grupo e outras concessões permanecem inalteradas; propriedade real, ACLs e regras do sistema de arquivos permanecem fora do cálculo.
O comportamento persistente do diretório é a explicação implementada atualmente
A frase do diretório estabelece uma regra limitada: com sticky set, apenas o proprietário ou root de um arquivo pode excluí-lo ou renomeá-lo. A ferramenta não resolve identidades, inspeciona a propriedade do diretório nem tenta realizar uma operação. Um 1777 exibido confirma bits rwx universais mais sticky, mas não consegue identificar quem possui uma entrada envolvida em uma disputa real.
Políticas adicionais devem ser investigadas separadamente. A calculadora não lê ACLs, recursos, opções de montagem, controles obrigatórios ou estado do sistema de arquivos. Alternar entre arquivo e diretório altera a explicação, não o modo. Se uma renomeação for bem-sucedida ou falhar inesperadamente, a página não poderá explicar o motivo; apenas isola os bits tradicionais para uma investigação específica do sistema.
A ferramenta descreve os limites de exclusão de proprietário ou raiz sem inspecionar extensões de política
Compare 1777 e 777 como modos de diretório. O modo 777 renderiza drwxrwxrwx e permite que cada classe liste, crie, insira, renomeie e exclua. A ferramenta avisa que os usuários podem excluir entradas que não são de sua propriedade. Habilitar sticky produz drwxrwxrwt: as concessões rwx permanecem fixas, enquanto a restrição de exclusão do proprietário ou raiz entra na explicação.
As atribuições geradas mostram a mesma diferença de um bit. O modo 777 torna-se u=rwx,g=rwx,o=rwx, enquanto 1777 adiciona +t; a visualização octal também mantém o dígito inicial. Nenhuma das visualizações abre o caminho ou executa chmod. A comparação prova que apenas 1000 mudou e explica sua forma t, mas a propriedade e a fiscalização ainda exigem inspeção externa.
Exemplo resolvido: compare as explicações 1777 e 777 na calculadora
A história do Setgid não é suportada por estes materiais. O repositório pode codificar setgid como 2000, renderizar s ou S na posição de execução de grupo e explicar a herança de grupo de diretórios. Esses detalhes de implementação não documentam as origens do setgid nem conectam seu desenvolvimento ao sticky. A aritmética para uma parte especial não é evidência histórica sobre outra.
A política de diretório protegido também está além do conjunto de origem. A página não lê nenhuma configuração fs.protected, configuração do sistema, ACL, registro de propriedade ou tentativa de operação. Ele pode confirmar que um modo fornecido contém sticky e mostrar suas concessões básicas, mas não pode certificar que sticky é a única restrição da máquina. Um diagnóstico mais amplo precisa de evidências desse ambiente.
O histórico do Setgid e a política de diretório protegido permanecem fora do conjunto de origem
A distinção prática cabe em um personagem. Para diretórios, t registra sticky com other-execute, enquanto T registra sticky sem esse bit de execução. A calculadora preserva ambos os formulários e mantém 1000 visível em seu resumo. Sua fonte também menciona uma antiga dica de arquivo regular, mas fornece muito pouca evidência primária para apoiar uma cronologia histórica universal.
Use a página para resolver a representação antes de debater políticas. Insira um modo, escolha arquivo ou diretório e compare octal, simbólico, matriz, resumo e atribuições. O acordo confirma uma conversão consistente de doze bits. Pare aí, a menos que o sistema de destino forneça mais evidências: a ferramenta não identifica nenhum usuário, não lê nenhum caminho, não executa nenhum comando e não inspeciona nenhuma extensão de política.