¿Qué es umask?

umask (máscara de modo de creación de archivos de usuario) es una configuración de Linux y Unix que controla los permisos predeterminados asignados a archivos y directorios recién creados. En lugar de establecer permisos directamente, umask define qué bits de permiso deben ser eliminados de los valores predeterminados del sistema cuando se crea un nuevo archivo o directorio.

El sistema comienza con un permiso base de 666 (lectura y escritura para todos) para archivos y 777 (lectura, escritura y ejecución para todos) para directorios. Luego, umask se resta bit a bit de estos valores predeterminados usando una operación AND-NOT lógica, produciendo los permisos finales. Por ejemplo, con un umask de 022, los nuevos archivos terminan con 644 y los nuevos directorios con 755.

Cada dígito de umask corresponde a una clase de permiso: el primer dígito afecta al propietario, el segundo al grupo y el tercero a otros. Un dígito de 0 significa que no se enmascaran permisos, mientras que 7 elimina todos los permisos para esa clase.

Descripción de la herramienta

La Calculadora de umask de Linux convierte un valor de umask y un permiso base en los permisos efectivos resultantes en notación octal y simbólica. También genera el comando shell umask exacto, ayudando a administradores de sistemas, desarrolladores e ingenieros de DevOps a obtener una vista previa del resultado de cualquier umask antes de aplicarlo a un shell, script o configuración del sistema.

Ejemplos

Umask Base Octal resultante Simbólico
022 666 644 rw-r--r--
022 777 755 rwxr-xr-x
077 666 600 rw-------
027 777 750 rwxr-x---
002 666 664 rw-rw-r--

Características

  • Calcula permisos octales y simbólicos resultantes a partir de cualquier umask
  • Admite valores umask de 3 dígitos y 4 dígitos (con bit sticky/setuid inicial)
  • Preajustes de umask comunes (022, 027, 077, 002, 007, 000)

Cómo funciona

El permiso final se calcula para cada clase (propietario, grupo, otros) usando la fórmula:

final = base AND (NOT umask)

Cada dígito octal se procesa de forma independiente. Para un dígito de umask de 2 (binario 010) y un dígito base de 6 (binario 110), el resultado es 110 AND NOT 010 = 100, que equivale a 4 (solo lectura). El dígito inicial de un umask de 4 dígitos controla bits especiales (setuid, setgid, sticky) e se ignora en el cálculo de permisos estándar.

Consejos

  • Usa 666 como base para ver permisos de nuevos archivos y 777 para nuevos directorios.
  • Un umask de 000 significa que no se eliminan permisos — útil solo en entornos aislados y estrictamente controlados.
  • Para hacer el umask permanente, agrega el comando generado a ~/.bashrc, ~/.profile o /etc/profile dependiendo del alcance que desees.