Sobes.tech
Junior

¿Qué es umask?

sobes.tech AI

Respuesta de la IA

Umask (abreviatura de user file-creation mode mask) es un comando en sistemas operativos tipo Unix/Linux que establece la máscara de permisos por defecto para los archivos y directorios nuevos. Es un conjunto de bits que se desactivan de los permisos completos (777 para directorios, 666 para archivos) al crear un objeto.

Representación de umask:

  • La umask generalmente se representa en forma de un código octal de tres dígitos, por ejemplo, 022. Cada dígito corresponde a los permisos para el propietario, el grupo y todos los demás usuarios.
  • Los bits de la máscara se invierten respecto a los permisos deseados. Por ejemplo, para desactivar el permiso de escritura (2) para el grupo, se establecerá el bit correspondiente en la umask.

Cálculo de los permisos resultantes:

Los permisos de acceso resultantes para un archivo/directorio nuevo se calculan como:

Resultado = Permisos_iniciales Y (NO umask)

Donde:

  • Permisos_iniciales para archivos = 666 (rw-rw-rw-)
  • Permisos_iniciales para directorios = 777 (rwxrwxrwx)
  • NO umask - el complemento a bits de la valor de umask. Al usar un código octal, cada dígito de la umask se resta de 7.

Ejemplo: umask = 022

  • Para archivos: 666 Y (NO 022) = 666 Y 755 = 644 (rw-r--r--)
  • Para directorios: 777 Y (NO 022) = 777 Y 755 = 755 (rwxr-xr-x)

Visualización y establecimiento de umask:

  • Visualizar la umask actual:

    # Muestra la umask en octal
    umask
    
    # Muestra la umask en forma simbólica
    umask -S
    
  • Establecer una nueva umask:

    # Establecer la umask en octal
    umask 027
    
    # Establecer la umask en forma simbólica
    umask u=rwx,g=rx,o=r
    

La umask es una herramienta importante para garantizar la seguridad básica del sistema de archivos, estableciendo permisos razonables por defecto para los nuevos objetos.