GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es umask en UNIX/Linux?

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


Linux
  1. Linux vs Unix:¿Cuál es la diferencia?

  2. ¿Qué es Umask en Linux?

  3. UNIX/Linux:¿Qué es un shell? ¿Cuáles son las diferentes conchas?

  4. ¿Qué significa el promedio de carga en Unix/Linux?

  5. ¿Linux es un Unix?

Comando Umask en Linux

¿Qué es Login Shell en Linux?

Comando mkdir en Linux/Unix

Linux frente a Unix

Comando Grep en Linux/UNIX

Comando ls en Linux/UNIX