Comandos LinuxExplicados en español
/
Ficha24 / 104
Categoría
Permisos
Ejemplos
6
Ver también
chmod · chown · mkdir · touch

umask

user file creation mask (máscara de permisos al crear)

Define qué permisos se quitan al crear archivos y carpetas.

Es la máscara que el sistema le resta a los permisos de todo lo que creas: con 0022, los archivos nuevos nacen con 644 y las carpetas con 755. Sirve para que tu carpeta personal no quede abierta a cualquiera o para que un equipo compartido pueda trabajar en los mismos archivos (0002). Solo afecta a la terminal en la que la cambias, así que para que sea permanente hay que guardarla en ~/.bashrc.

Sintaxisumask [-p] [-S] [MODO]
§ 1

Despiece

6 ejemplos
Ver tu máscara actual

Ver tu máscara actual

1 pieza
Lámina01 / 06
Comandoumask
Piezas1
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoSin opciones y sin modo, solo imprime el valor actual.
Resultado

Imprime algo como 0022, lo normal en Debian y Ubuntu. No son permisos: es lo que se resta. Un archivo nace con 666 y una carpeta con 777; con la máscara 022 quedan 644 y 755.

Verla en forma de letras

2 piezas
Lámina02 / 06
Comandoumask -S
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoImprime la máscara actual.
2-SOpciónMuestra el resultado en forma simbólica, con letras.
Resultado

Con la máscara 0022 muestra u=rwx,g=rx,o=rx: son los permisos que quedan permitidos. Tú conservas todo; al grupo y a los demás se les quitó la escritura (w).

Dejar tus archivos privados

2 piezas
Lámina03 / 06
Comandoumask 0077
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoCambia la máscara de la sesión actual.
20077ValorTres dígitos en octal: a nadie se le quita nada, al grupo y a los demás se les quita todo.
Resultado

Todo lo que crees de aquí en adelante sale 600 en archivos y 700 en carpetas: solo tú puedes leerlo y modificarlo. Para comprobarlo, crea uno con touch y míralo con ls -l. El cambio es de esta terminal; para que siga después, agrega umask 0077 a tu ~/.bashrc.

Carpeta compartida con tu equipo

2 piezas
Lámina04 / 06
Comandoumask 0002
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoCambia la máscara de la sesión actual.
20002ValorSolo a los demás se les quita el permiso de escritura.
Resultado

Los archivos nuevos salen 664 y las carpetas 775, así el grupo puede leer y escribir. Falta la otra mitad: las personas tienen que pertenecer a ese mismo grupo, con sudo usermod -aG COMUNIDAD USUARIO. Y recuerda corregir lo que ya existía, porque la máscara solo aplica a lo nuevo.

Una máscara de servidor

2 piezas
Lámina05 / 06
Comandoumask 0027
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoCambia la máscara de la sesión actual.
20027ValorAl grupo se le quita la escritura y a los demás todo; a ti no se te quita nada.
Resultado

Los archivos salen 640 y las carpetas 750: tú editas, tu grupo solo lee y los demás no ven nada. Es la máscara típica en un servidor donde conviven varios servicios.

Copiar la misma máscara en otro lado

2 piezas
Lámina06 / 06
Comandoumask -p
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1umaskComandoImprime la máscara actual.
2-pOpciónLa muestra como un comando completo, listo para pegar.
Resultado

Imprime algo como umask 0022, con el comando entero. Se usa para replicar la misma máscara en otra máquina, en otro usuario o en la línea de un script, sin tener que acordarse del número.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-SMuestra la máscara como letras: con 0022 imprime u=rwx,g=rx,o=rx, que son los permisos que SÍ se permiten a cada quien (al grupo y a los demás se les quitó la w).
-pImprime la máscara como un comando listo para pegar (umask 0022). Sirve para copiarlo a otra máquina o a otro usuario.
§ 3

Fallas comunes

FallaRemedio
Confundir la máscara con los permisos.umask no dice qué permisos tendrá el archivo, dice cuáles se quitan. Nada se crea con menos de 666 (archivo) o 777 (carpeta) antes de restar la máscara: con umask 022 el archivo sale 644, no 022.
Usar umask 000 y dejar todo abierto.Con 000 los archivos se crean 666 y las carpetas 777: cualquiera en la máquina puede leer y modificar lo que creas, y en una carpeta compartida se pierde el control de los archivos. Usa 0022 para lo normal o 0077 si es tuyo.
Esperar que umask cambie los archivos que ya existen.Solo aplica a lo que se crea después. Para cambiar los permisos de algo que ya está hecho está chmod: chmod g+rw informe.doc.
Cambiarla y perderla al cerrar la terminal.El valor solo vive en la sesión actual. Para que se mantenga, ponlo en tu ~/.bashrc (o en /etc/profile para todos los usuarios del sistema) y abre una terminal nueva para comprobarlo con umask.
§ 4

Preguntas frecuentes

¿Qué es el umask y para qué sirve?
Es la máscara que se resta a los permisos de cada archivo o carpeta nueva. Con la de siempre, 0022, los archivos nacen 644 y las carpetas 755. Sirve para que lo que creas no quede abierto a cualquiera en la máquina.
¿Cómo veo mi umask?
Escribe umask y te imprime algo como 0022. Con umask -S lo ves con letras (u=rwx,g=rx,o=rx), que son los permisos que se permiten a cada quien, y con umask -p como un comando listo para pegar.
¿Cómo hago que los archivos nuevos solo los vea mi usuario?
Con umask 0077: los archivos se crean 600 y las carpetas 700, sin permisos para el grupo ni para los demás. Recuerda agregarlo a tu ~/.bashrc, porque el valor solo dura lo que dura la terminal.
¿Cuál es la diferencia entre chmod y umask?
chmod cambia los permisos de algo que ya existe. umask no modifica nada: solo define qué permisos se le quitan a lo que se cree después, y únicamente dentro de tu sesión.
¿Por qué mi carpeta compartida no deja escribir a los demás?
Porque la máscara se lo quita antes de crear el archivo. Con umask 022 los archivos nacen 644 y el grupo solo puede leer. Usa umask 002 para que el grupo pueda escribir, revisa que las personas estén en el mismo grupo con groups USUARIO y corrige lo que ya existe con chmod.
§ 5

Ver también