Calculadora umask
Com umask 022, arquivos novos recebem 644 (rw-r--r--) e pastas novas 755 (rwxr-xr-x): digite qualquer umask e veja as permissões padrão que ele gera, em octal e em letras, antes de mexer num perfil de shell ou numa imagem de contêiner. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Umask
- 022
- Umask em octal
- 022
- Umask numérico
- 18
- Umask simbólico
- ----w--w-
- Base de arquivo em octal
- 666
Todo processo no estilo Unix carrega um umask que define em silêncio as permissões de cada arquivo e diretório novo que ele cria. O kernel parte de um modo base —em geral 0666 para arquivos comuns e 0777 para diretórios— e desliga cada bit ativo no umask, de modo que a máscara subtrai bits de permissão em vez de somá-los. Desenvolvedores, SREs e estudantes costumam precisar de uma resposta clara antes de editar perfis de shell ou imagens de contêiner: se o umask for 022, 002 ou 077, quais modos os arquivos e pastas recém-criados realmente receberão? Esta calculadora de umask para permissões aceita essa máscara como de um a quatro dígitos octais, aplica a fórmula clássica modo igual a base AND bit a bit com o complemento do umask e devolve as formas octal, simbólica rwx e numérica tanto para o caminho de arquivo quanto para o de diretório.
Como o umask subtrai bits dos modos base de criação
Quando um programa cria um arquivo regular, o sistema operacional propõe o modo base 0666, ou seja leitura e escrita para proprietário, grupo e outros, sem bits de execução. Quando cria um diretório, a base é 0777 para que, por padrão, seja possível entrar e listar. Antes de fixar esses bits, o kernel calcula base AND bit a bit com o complemento do umask do processo.
Cada bit em um no umask é forçado a zero no resultado; os bits em zero no umask permanecem exatamente como na base. Por isso um umask 022 transforma a base de arquivo 0666 em 0644 e a de diretório 0777 em 0755: os bits de escrita de grupo e outros são limpos, o proprietário mantém direitos plenos e os bits de execução em diretórios seguem disponíveis para todos. Um umask mais rigoroso 077 remove grupo e outros por completo, gerando arquivos 0600 e diretórios 0700.
Um umask relaxado 002 só remove a escrita de outros, produzindo arquivos 0664 e diretórios 0775 adequados a árvores de projeto compartilhadas multiusuário. Compreender esse modelo subtrativo evita o erro comum de tratar o umask como um modo alvo que você define diretamente; o umask nunca concede bits extras além da base e nunca inventa bits de execução em arquivos comuns porque esses bits nunca estiveram em 0666.
Esta calculadora cristaliza essa regra num contrato determinístico que você pode chamar de scripts, documentação e widgets do navegador sem invocar o builtin real de umask.
Onde uma calculadora de permissões umask agrega valor
Autores de contêineres e imagens fixam um umask em Dockerfiles ou scripts de entrypoint e precisam de uma segunda opinião de que os modos padrão resultantes batem com as notas de revisão de segurança antes do envio. Estações Linux compartilhadas e agentes de CI documentam um umask da casa para que artefatos cheguem como 644/755 e não com escrita mundial; esta ferramenta transforma esse dígito de política em modos explícitos para runbooks e páginas de onboarding.
Laboratórios de sala de aula que ensinam permissões POSIX combinam a lição de umask com conversão ao vivo para que estudantes vejam por que 022 é o padrão interativo usual e por que 077 é preferido em árvores home privadas. Checklists de segurança que proíbem segredos graváveis pelo grupo podem calcular a máscara mais estrita que ainda permita a colaboração pretendida sem contar colunas rwx à mão.
Mantenha a requisição como string octal curta, fixe nos testes os campos octal e simbólico e você terá um oráculo estável para documentação, plugins LMS e geradores de infraestrutura como código sem montar um suite completo de gestão de permissões.
Casos de uso
Notas de endurecimento de contêineres e imagens
Converta um umask de Dockerfile nos modos padrão exatos de arquivo e diretório que os revisores esperam antes do merge.
Política de estação compartilhada e CI
Documente o umask da casa 022 ou 002 como padrões concretos 644/755 ou 664/775 para novos artefatos.
Sala de aula POSIX e preparação para provas
Permita que estudantes digitem um umask e verifiquem resultados de arquivo versus diretório pela regra base AND NOT da máscara.
Perguntas frequentes
Como converto um umask em permissões padrão?
Envie umask como dígitos octais, por exemplo 022.
Por que arquivos novos não são 777 quando o umask é 000?
Arquivos regulares partem da base 0666, não 0777, então até um umask zero produz 666 em arquivos e 777 em diretórios. Bits de execução nunca são inventados em arquivos comuns.
Quais formatos de umask são aceitos?
Uma string de um a quatro dígitos octais (0–7), opcionalmente com prefixo 0o.
Quais permissões um umask 077 gera?
Permissões privadas. Ele remove todos os bits do grupo e dos outros, então arquivos novos saem como 0600 e pastas como 0700, e só o dono pode ler, gravar ou entrar.
Qual umask serve para uma pasta de projeto compartilhada?
Um umask 002 só tira a escrita dos outros, então arquivos ficam como 0664 e pastas como 0775. Os membros do grupo podem editar o trabalho uns dos outros e o restante só pode ler.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/umask-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"umask":"022"}'const res = await fetch("https://api.kit.forhosting.com/dev/umask-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"umask": "022"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/umask-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"umask": "022"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/umask-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"umask":"022"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"umask":"022"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/umask-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"umask": "022"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.umask_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Contrato de entrada, campos de resposta e regras de validação
Os nove bits de permissão são o escopo desta capacidade: máscaras com bits especiais acima de 0777 são rejeitadas em vez de truncadas em silêncio. Uma string formula reafirma modo igual a base AND NOT umask com as duas bases nomeadas para que clientes exibam a identidade ao lado dos números. Exemplo: umask 022 produz modo de arquivo 644 (rw-r--r--) e de diretório 755 (rwxr-xr-x). Envie um corpo JSON com um único campo obrigatório, umask, como string de um a quatro dígitos octais como 022, 0022, 77 ou 0. Em sucesso a resposta ecoa o umask_octal normalizado de três dígitos, o valor decimal umask_numeric e umask_symbolic como string rwx de nove caracteres que mostra quais bits a própria máscara carrega. Campos paralelos descrevem o caminho de arquivo —file_base_octal fixo em 666, file_mode_octal, file_mode_symbolic e file_mode_numeric— e o de diretório com dir_base_octal fixo em 777 mais os campos de modo correspondentes. O endpoint nunca chama chmod, não lê o estado do processo e não inventa semântica ACL ou de sticky bit; é aritmética pura sobre uma máscara curta, de modo que cada chamada bem-sucedida é reproduzível em Node, no caminho gratuito do navegador e em edge workers.
Onde uma calculadora de permissões umask agrega valor
Como a implementação é parse puro tier A, cada chamada API bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, enquanto entrada inválida não é cobrada.
Perguntas técnicas
Isto altera o umask do meu shell ou servidor?
Não. Apenas calcula os modos resultantes. Nunca chama umask(2), chmod ou qualquer API do sistema de arquivos.
Quanto custa a calculadora umask?
A ferramenta no navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.