La máscara de modo de creación de archivos de usuario (umask) es un comando de shell incorporado que se puede usar para establecer valores predeterminados para los permisos de lectura/escritura/ejecución en archivos recién creados. Debe ejecutarse en los archivos de inicio de shell ".cshrc" o ".profile".
Se le asigna un valor octal de tres dígitos, que representa el inverso binario de los permisos que se pueden asignar a los archivos. Este argumento numérico de tres dígitos representa el acceso que se "inhibirá" o "enmascarará" cuando se cree un archivo.
Cuando se crea un archivo, sus permisos se establecen en lo que solicita el programa de creación menos lo que prohíbe la configuración de "umask". Por lo tanto, el valor que desea es el complemento octal del modo de archivo numérico deseado. Los dígitos otorgan los permisos que se muestran a continuación:
Octubre | Binario | Permisos |
---|---|---|
0 | 000 | rwx |
1 | 001 | rw- |
2 | 010 | r-x |
3 | 011 | r– |
4 | 100 | -wx |
5 | 101 | -w- |
6 | 110 | –x |
7 | 111 | (ninguno) |
Cambiar la "máscara"
Para determinar el valor deseado, simplemente calcule el equivalente numérico para el modo de archivo que desea obtener y luego réstelo de 777.
Por ejemplo, para obtener el modo 751 por defecto, calcule 777-751=026:este es el valor que le da a "umask"
% umask 026
Una vez que se ejecuta este comando, todos los archivos futuros creados recibirán esta protección automáticamente.
Otro para calcular los valores de "umask" es recordar que el número 2 en "umask" desactiva el permiso de escritura, mientras que el número 7 desactiva el permiso de lectura, escritura y ejecución.
Valores comunes de "desenmascaramiento"
De forma predeterminada, la mayoría de las versiones de UNIX especifican un modo octal de 666 (cualquier usuario puede leer o escribir el archivo) cuando crean nuevos archivos. Asimismo, se crean nuevos programas con un modo de 777 (cualquier usuario puede leer, escribir o ejecutar el programa).
Los valores de umask más comunes son 022, 027 y 077. Un valor de umask de 022 le permite al propietario leer y escribir todos los archivos recién creados, pero todos los demás solo pueden leerlos:
- 0666 :modo de creación de archivos predeterminado.
- 022 :modo resultante.
- 0644 :modo resultante.
Un valor de umask de 077 permite que solo el propietario de los archivos lea todos los archivos recién creados:
- 0666 :modo de creación de archivos predeterminado.
- 077 :máscara.
- 0600 :modo resultante.
En muchos sistemas UNIX, el umask predeterminado es 022. Esto se hereda del proceso init, ya que todos los procesos son descendientes de init.
Tabla de configuraciones comunes de umask
máscara | Acceso de usuario | Acceso de grupo | Otro |
---|---|---|---|
0000 | todos | todos | todos |
0002 | todos | todos | leer, ejecutar |
0007 | todos | todos | ninguno |
0022 | todos | leer, ejecutar | leer, ejecutar |
0027 | todos | leer, ejecutar | ninguno |
0077 | todos | ninguno | ninguno |