umask
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.
umask [-p] [-S] [MODO]Despiece
6 ejemplosVer tu máscara actual
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Sin opciones y sin modo, solo imprime el valor actual. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Imprime la máscara actual. |
| 2 | -S | Opción | Muestra el resultado en forma simbólica, con letras. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Cambia la máscara de la sesión actual. |
| 2 | 0077 | Valor | Tres dígitos en octal: a nadie se le quita nada, al grupo y a los demás se les quita todo. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Cambia la máscara de la sesión actual. |
| 2 | 0002 | Valor | Solo a los demás se les quita el permiso de escritura. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Cambia la máscara de la sesión actual. |
| 2 | 0027 | Valor | Al grupo se le quita la escritura y a los demás todo; a ti no se te quita nada. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | umask | Comando | Imprime la máscara actual. |
| 2 | -p | Opción | La muestra como un comando completo, listo para pegar. |
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.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -S | Muestra 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). |
| -p | Imprime la máscara como un comando listo para pegar (umask 0022). Sirve para copiarlo a otra máquina o a otro usuario. |
Fallas comunes
| Falla | Remedio |
|---|---|
| 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. |
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.