Volver a herramientas
Calculadora de Umask
¿Qué es umask?
umask (user file-creation mode mask) es un comando de shell y una llamada al sistema en Linux y Unix que define los permisos por defecto con los que se crean los archivos y directorios nuevos. Funciona como una máscara de permisos: Linux asigna un valor base de 666 (rw-rw-rw-) para archivos y 777 (rwxrwxrwx) para directorios, y la umask resta permisos a ese valor base. La fórmula es: permisos finales = valor base - umask. Internamente, el sistema operativo aplica la operación binaria base & ~umask. Por ejemplo, con una umask 022, un archivo nuevo obtiene 644 (rw-r--r--) y un directorio nuevo 755 (rwxr-xr-x).
Diferencia entre umask y chmod
La diferencia fundamental es el momento en que actúan. umask establece los permisos por defecto para archivos y directorios nuevos, antes de que existan. Actúa como un filtro preventivo que limita los permisos en el momento de la creación mediante open() o mkdir(). En cambio, chmod modifica los permisos de archivos y directorios que ya existen en el sistema. Mientras que umask define el límite superior de permisos que un archivo nuevo puede tener, chmod permite cambiar permisos existentes en cualquier dirección (añadir o quitar).
Valores umask comunes
- 000 — Sin restricciones. Archivos: 666, directorios: 777. Solo recomendado en entornos temporales controlados.
- 002 — Grupo escribible. Archivos: 664, directorios: 775. Útil en proyectos colaborativos.
- 022 — Valor por defecto en la mayoría de distribuciones Linux. Archivos: 644, directorios: 755.
- 027 — Restrictivo con grupo. Archivos: 640, directorios: 750. Grupo solo lee, otros sin acceso.
- 077 — Privado total. Archivos: 600, directorios: 700. Solo el propietario tiene acceso.
- 007 — Grupo con control total. Archivos: 660, directorios: 770. Grupo puede leer y escribir.