Inicio > Gestión de archivos y directorios > umask

Guía del comando umask: configuración de permisos predeterminados para archivos/directorios recién creados

El comando `umask` (máscara de modo de creación de archivos del usuario) se utiliza en sistemas operativos Linux y Unix para controlar los permisos de acceso predeterminados de los archivos y directorios recién creados. Juega un papel importante en la mejora de la seguridad al establecer una máscara de restricción de permisos que se aplica automáticamente cuando se crean archivos, previniendo que se creen con permisos innecesariamente amplios. A través de esta guía, aprenderás el concepto y el uso de `umask`.

Resumen de umask

El sistema operativo otorga permisos predeterminados al crear nuevos archivos o directorios. El valor de `umask` se 'excluye' de estos permisos predeterminados para determinar los permisos finales. `umask` es crucial desde el punto de vista de la seguridad, ya que, por ejemplo, puede evitar que archivos de configuración importantes se creen con permisos demasiado abiertos. El valor de `umask` puede configurarse de manera diferente para cada sesión de usuario y generalmente se establece en archivos de inicialización del shell como `.bashrc` o `.profile`.

Cómo funciona umask

`umask` es un valor de máscara que especifica los permisos que se 'excluirán', en lugar de los que se permitirán. Es decir, los permisos finales se determinan restando el valor de `umask` de los permisos máximos predeterminados.

Permisos máximos predeterminados

  • Archivo: `666` (lectura y escritura, sin permisos de ejecución)
  • Directorio: `777` (incluye permisos de lectura, escritura y ejecución)

Método de cálculo de umask

`umask` se expresa como un número octal de 3 dígitos (por ejemplo: `022`, `002`). Este valor se aplica en el orden de propietario (User), grupo (Group) y otros (Others). Cada dígito representa la suma de los bits de permiso (lectura=4, escritura=2, ejecución=1). Los permisos finales se calculan de la siguiente manera:

Ejemplo de cálculo de umask (umask 022) Examinamos cómo se determinan los permisos finales a través del caso común de `umask 022`.
Tipo Permisos máximos predeterminados umask Permisos finales
Archivo 666 (rw-rw-rw-) 022 (--w--w-) 644 (rw-r--r--)
Directorio 777 (rwxrwxrwx) 022 (--w--w-) 755 (rwxr-xr-x)

Valores umask comunes

En la mayoría de los sistemas, el valor predeterminado de `umask` es `0022` o `0002`. El `0` inicial corresponde a permisos especiales (sticky bit, SGID, SUID) y, por lo general, se establece en `0`.

Significado de valores umask comunes

  • `umask 022`: Los archivos se crean con permisos `644`(rw-r--r--), y los directorios con permisos `755`(rwxr-xr-x). Esta es la configuración más común, que otorga todos los permisos al propietario y permisos de lectura y ejecución a los grupos y otros usuarios.
  • `umask 002`: Los archivos se crean con permisos `664`(rw-rw-r--), y los directorios con permisos `775`(rwxrwxr-x). Esto permite a los usuarios del mismo grupo tener permisos de escritura, facilitando la colaboración dentro del grupo.
  • `umask 077`: Los archivos se crean con permisos `600`(rw-------), y los directorios con permisos `700`(rwx------). Esta es una configuración de permisos muy estricta, donde nadie más que el propietario puede acceder. Es adecuada para archivos o directorios personales donde la seguridad es muy importante.

Opciones principales del comando umask

El comando `umask` se utiliza para verificar el valor actual o establecer un nuevo valor. Si se utiliza sin opciones, mostrará el valor actual de `umask`.

1. Verificar y establecer el valor de umask

Comando generado:

Combina los comandos.

Descripción:

`umask` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

A través de diversos ejemplos de uso del comando `umask`, aprenderás cómo verificar y establecer los permisos predeterminados de los archivos y directorios recién creados.

Verificar el valor actual de umask

umask

Verifica el valor de `umask` de la sesión de shell actual en forma octal (por ejemplo: `0022`).

Verificar el valor de umask en modo simbólico

umask -S

Verifica el valor de `umask` en forma de permisos permitidos como 'u=rwx,g=rx,o=rx' en lugar de en octal.

Establecer el valor de umask en 002

umask 002

Cambia `umask` para que los archivos recién creados tengan permisos `664`(rw-rw-r--) y los directorios permisos `775`(rwxrwxr-x). (Permite permisos de escritura a los usuarios del mismo grupo)

Establecer un valor estricto de umask en 077

umask 077

Cambia `umask` para que los archivos recién creados tengan permisos `600`(rw-------) y los directorios permisos `700`(rwx------). Nadie más que el propietario puede acceder.

Verificar permisos de creación de archivos/directorios después de cambiar umask

umask 002
touch test_file_002.txt
mkdir test_dir_002
ls -l test_file_002.txt test_dir_002

Después de establecer umask en `002`, crea nuevos archivos y directorios y verifica si se aplicaron los permisos cambiados con `ls -l`.


Comandos de la misma categoría