UMASK en los sistemas Linux y Unix se conoce como Máscara de usuario o también se le llama MÁSCARA de creación de archivos de usuario. Este es un tipo de permiso base o permiso predeterminado que se otorga cuando se crea un nuevo archivo o carpeta en el cuadro de Linux.
La mayor parte de la distribución de Linux da 022
como UMASK por defecto. Podemos decir que son permisos predeterminados para el archivo y las carpetas por parte del sistema. Cuando creamos cualquier archivo o directorio en Linux, se rigen por la configuración de umask.
En caso de que algún administrador del sistema no establezca, el umask predeterminado será 0000
. Esto significa que los nuevos archivos creados tendrán permisos de lectura y escritura para cada usuario y los nuevos directorios tendrán permisos de lectura, escritura y ejecución.
¿Cómo podemos calcular UMASK en Linux?
Una cosa es que el valor de umask es generalmente el mismo para archivos y carpetas, pero el cálculo de estos valores en función de los permisos en archivos y directorios es diferente.
Valor mínimo de UMASK para el directorio:000
y Máximo:777
Valor mínimo de UMASK para archivo:000
y Máximo:666
Aquí, la razón para mantener el valor máximo 666
para los archivos se debe a que los archivos de script y los archivos binarios en Linux solo deben tener permisos de ejecución. Los archivos normales en Linux solo deben tener permisos de lectura y escritura. Normalmente, umask se calcula a través del operador AND bit a bit. Algunas de las notaciones octales comunes son:
0 -- Read, Write and Execute
1 – Read and Write
2 – Read and Execute
3 – Read Only
4 –Write and Execute
5 –Write Only
6 –Execute Only
7 –No Permissions
Ahora, podemos hacer uso fácilmente de la tabla mencionada anteriormente para calcular el permiso de los archivos. Por ejemplo, si un umask se establece en 077, significa que el permiso generalmente se calcula de la siguiente manera:
0 – Owner – Read, Write and Execute
7 – Group – No Permissions
7 – Others – No Permissions
Para configurar el umask anterior, debe escribir el comando
$ umask 077
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Output:
drwx------ 2 demo demo 4096 2013-07-04 01:34 folder1
-rw------- 2 demo demo 0 2013-07-04 01:34 testfile
Mostrar el valor de umask actual
Si ejecuta el comando umask sin ningún argumento, mostrará el valor de la máscara actual.
$ umask
0022
¿Cómo podemos configurar umask con valores simbólicos?
A continuación se mencionan los valores simbólicos que podemos usar:
r
:leer, w
:escribir, x
:ejecutar, u
:propiedad del usuario, g
:propiedad del grupo y o
:otra propiedad
Por ejemplo:
$ umask u=rwx, g=, o=
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
¿Cuáles son las limitaciones de umask?
Conclusión
En este tutorial, aprendimos qué es umask en Linux y el comando para establecer un nuevo valor de umask. Espero que haya disfrutado de la lectura y para obtener más información, consulte las páginas man de umask.