Calculadora umask
Con umask 022, los archivos nuevos reciben 644 (rw-r--r--) y las carpetas nuevas 755 (rwxr-xr-x): escriba cualquier umask y vea los permisos por defecto que produce, en octal y en letras, antes de tocar un perfil de shell o una imagen de contenedor. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Umask
- 022
- Umask en octal
- 022
- Umask numérico
- 18
- Umask simbólico
- ----w--w-
- Base de archivo en octal
- 666
Todo proceso de tipo Unix lleva un umask que define en silencio los permisos de cada archivo y directorio nuevo que crea. El núcleo parte de un modo base —habitualmente 0666 para archivos ordinarios y 0777 para directorios— y apaga cada bit que esté activo en el umask, de modo que la máscara resta bits de permiso en lugar de sumarlos. Desarrolladores, SRE y estudiantes suelen necesitar una respuesta clara antes de editar perfiles de shell o imágenes de contenedor: si el umask es 022, 002 o 077, ¿qué modos recibirán realmente los archivos y carpetas recién creados? Esta calculadora de umask a permisos acepta esa máscara como de uno a cuatro dígitos octales, aplica la fórmula clásica modo igual a base AND bit a bit con el complemento del umask, y devuelve las formas octal, simbólica rwx y numérica tanto para la vía de archivo como para la de directorio.
Cómo el umask resta bits a los modos de creación base
Cuando un programa crea un archivo regular, el sistema operativo propone el modo base 0666, es decir lectura y escritura para propietario, grupo y otros, sin bits de ejecución. Cuando crea un directorio, la base es 0777 para que, por defecto, se pueda entrar y listar. Antes de fijar esos bits, el núcleo calcula base AND bit a bit con el complemento del umask del proceso.
Cada bit en uno en el umask se fuerza a cero en el resultado; los bits en cero en el umask se conservan tal como aparecen en la base. Por eso un umask 022 convierte la base de archivo 0666 en 0644 y la de directorio 0777 en 0755: se apagan los bits de escritura de grupo y otros, el propietario conserva plenos derechos y los bits de ejecución en directorios siguen disponibles para todos.
Un umask más estricto 077 borra por completo grupo y otros, produciendo archivos 0600 y directorios 0700. Un umask relajado 002 solo quita la escritura de otros, con archivos 0664 y directorios 0775 adecuados a árboles de proyecto compartidos multiusuario. Comprender este modelo sustractivo evita el error habitual de tratar el umask como un modo destino que usted fija directamente; el umask nunca concede bits extra por encima de la base y nunca inventa bits de ejecución en archivos ordinarios porque esos bits no estaban en 0666.
Esta calculadora fija esa regla en un contrato determinista que usted puede invocar desde scripts, documentación y widgets del navegador sin ejecutar el builtin real de umask.
Contrato de entrada, campos de respuesta y reglas de validación
Los nueve bits de permiso son el alcance de esta capacidad: las máscaras con bits especiales por encima de 0777 se rechazan en lugar de truncarse en silencio. Una cadena formula reexpresa modo igual a base AND NOT umask con las dos bases nombradas para que los clientes muestren la identidad junto a los números. Ejemplo: umask 022 produce modo de archivo 644 (rw-r--r--) y de directorio 755 (rwxr-xr-x).
El extremo nunca llama a chmod, no lee el estado del proceso y no inventa semántica ACL ni de sticky bit; es aritmética pura sobre una máscara corta, de modo que cada llamada correcta es reproducible en Node, en la vía gratuita del navegador y en workers de borde.
Dónde una calculadora de permisos umask aporta valor real
Autores de contenedores e imágenes fijan un umask en Dockerfiles o scripts de entrada y necesitan una segunda opinión de que los modos por defecto resultantes coinciden con las notas de revisión de seguridad antes de publicar. Estaciones Linux compartidas y agentes de CI documentan un umask de casa para que los artefactos queden en 644/755 y no con escritura mundial; esta herramienta convierte ese dígito de política en modos explícitos para runbooks y páginas de incorporación.
Laboratorios que enseñan permisos POSIX emparejan la lección de umask con conversión en vivo para que el alumnado vea por qué 022 es el valor interactivo habitual y por qué se prefiere 077 en árboles de home privados. Listas de control de seguridad que prohíben secretos con escritura de grupo pueden calcular la máscara más estricta que aún permita la colaboración prevista sin contar a mano columnas rwx.
Mantenga la petición en una cadena octal corta, fije en las pruebas los campos octal y simbólico, y obtendrá un oráculo estable para documentación, plugins LMS y generadores de infraestructura como código sin montar un suite completo de gestión de permisos.
Qué puede hacer con ella
Notas de endurecimiento de contenedores e imágenes
Convierta un umask de Dockerfile en los modos exactos por defecto de archivo y directorio que los revisores esperan antes del merge.
Política de estación compartida y CI
Documente el umask de casa 022 o 002 como valores por defecto concretos 644/755 o 664/775 para artefactos nuevos.
Aula POSIX y preparación de exámenes
Permita que el alumnado introduzca un umask y verifique resultados de archivo frente a directorio según la regla base AND NOT de la máscara.
Preguntas frecuentes
¿Cómo convierto un umask en permisos por defecto?
Envíe umask como dígitos octales, por ejemplo 022.
¿Por qué los archivos nuevos no son 777 cuando el umask es 000?
Los archivos regulares parten de la base 0666, no 0777, así que incluso un umask cero produce 666 en archivos y 777 en directorios. Nunca se inventan bits de ejecución en archivos ordinarios.
¿Qué formatos de umask se aceptan?
Una cadena de uno a cuatro dígitos octales (0–7), opcionalmente con prefijo 0o.
¿Qué permisos da un umask de 077?
Permisos privados. Quita todos los bits del grupo y de los demás, así que los archivos nuevos quedan en 0600 y los directorios en 0700: solo el propietario puede leerlos, escribirlos o entrar en ellos.
¿Qué umask conviene para una carpeta de proyecto compartida?
Un umask de 002 solo quita la escritura a los demás, de modo que los archivos quedan en 0664 y los directorios en 0775. Los miembros del grupo pueden editar el trabajo de los otros y el resto solo puede leerlo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"umask": "022"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.umask_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Contrato de entrada, campos de respuesta y reglas de validación
Envíe un cuerpo JSON con un único campo obligatorio, umask, como cadena de uno a cuatro dígitos octales tales como 022, 0022, 77 o 0. En caso de éxito la respuesta devuelve el umask_octal normalizado de tres dígitos, el valor decimal umask_numeric y umask_symbolic como cadena rwx de nueve caracteres que muestra qué bits lleva la propia máscara. Campos paralelos describen la vía de archivo —file_base_octal fijo en 666, file_mode_octal, file_mode_symbolic y file_mode_numeric— y la de directorio con dir_base_octal fijo en 777 más los campos de modo correspondientes.
Dónde una calculadora de permisos umask aporta valor real
Como la implementación es parse puro de tier A, cada llamada API correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente, mientras que la entrada inválida no se factura.
Preguntas técnicas
¿Esto cambia el umask de mi shell o servidor?
No. Solo calcula los modos resultantes. Nunca llama a umask(2), chmod ni a ninguna API del sistema de archivos.
¿Cuánto cuesta la calculadora umask?
La herramienta del navegador es gratuita. Las peticiones API usan saldo KIT prepago a $0.002 por llamada correcta; la entrada inválida no se factura.