umask (Español)

La utilidad umask se utiliza para controlar la máscara del modo de creación de archivos, que determina el valor inicial de los bits de permisos para los archivos recién creados. El comportamiento de esta utilidad está estandarizado por POSIX y se describe en el Manual del programador POSIX. Debido a que umask afecta el entorno de ejecución actual del shell, generalmente se implementa como una orden integrada en el shell.

Esta traducción de Umask fue revisada el 2021-02-12. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Significado de la máscara de modo

La máscara de modo contiene los bits de permiso que no deben establecerse en un archivo recién creado, por lo tanto, es la negación lógica de los bits de permiso establecidos en un archivo recién creado. Si algún bit de la máscara se establece en 1, el permiso correspondiente para el archivo recién creado se desactivará. Por lo tanto, la máscara actúa como un filtro para eliminar los bits de permiso y ayuda a configurar el acceso predeterminado a los archivos.

El valor resultante para los bits de permiso que se establecerán en un archivo recién creado se calcula utilizando la adjunción lógica bit a bit, que se puede expresar en notación lógica:

R: (D & (~M))

Es decir, los permisos resultantes R son el resultado de conjunción bit a bit de los permisos predeterminados D y la negación bit a bit de la máscara del modo de creación de archivos M.

Nota:
  • Linux no permite que se cree un archivo con permisos de ejecución, los permisos de creación predeterminados son 777 para directorios y solo 666 para archivos.
  • En Linux, solo se utilizan los bits de permiso de archivo de la máscara; véase umask(2). Los bits "suid", "sgid" y "pegajoso" de la máscara se ignoran.

Por ejemplo, supongamos que la máscara del modo de creación de archivos es 027. Aquí la representación bit a bit de cada dígito representa:

  • representa los bits del permiso de usuario no establecido en un archivo recién creado
  • representa los bits del permiso de grupo no establecido en un archivo recién creado
  • representa los bits del permiso de otros no establecido en un archivo recién creado

Con la información proporcionada por la tabla a continuación, esto significa que para un archivo recién creado, por ejemplo, propiedad del usuario y del grupo Grupo1, tiene todas las permisos (valor octal ) para el archivo recién creado, otros usuarios del grupo Grupo1 no tienen permisos de escritura (valor octal 5) y cualquier otro el usuario no tiene ningún permiso (valor octal ) para el archivo recién creado. Entonces, con la máscara 027 tomada para este ejemplo, los archivos se crearán con permisos .

OctalBinarySignificado
sin permisos
1solo ejecución
solo escritura
escritura y ejecución
solo lectura
5101lectura y ejecución
110lectura y escritura
lectura, escritura y ejecución

Mostrar el valor de la máscara actual

Para mostrar la máscara actual, simplemente invoque sin especificar ningún argumento. El estilo de salida predeterminado depende de la implementación, pero generalmente es octal:

Cuando se utiliza la opción , estandarizada por POSIX, la máscara se mostrará con notación simbólica. Sin embargo, el valor de notación simbólica siempre será el complemento lógico del valor octal, es decir, los bits de permiso que se establecerán en el archivo recién creado:

Establecer el valor de la máscara

Puede establecer el valor de umask mediante la orden umask. La cadena que especifica la máscara de modo sigue las mismas reglas sintácticas que el argumento de modo de chmod (véase Manual del programador POSIX para más detalles).

El valor de umask de todo el sistema se puede establecer en o en los archivos de configuración predeterminados del shell, por ejemplo /etc/bash.bashrc. La mayoría de las distribuciones Linux, incluido Arch, establecen un valor predeterminado de umask (véase /etc/profile). También se puede configurar umask con pero puede ser anulado por o similar.

Si necesita establecer un valor diferente, puede editar directamente dicho archivo, afectando así a todos los usuarios, o llamar a desde el archivo de configuración de usuario de su shell, por ejemplo para cambiar solo su umask, sin embargo, estos cambios solo tendrán efecto después del próximo inicio de sesión. Para cambiar su umask solo durante su sesión actual, simplemente ejecute y escriba el valor deseado. Por ejemplo, ejecutar le dará permisos de lectura y escritura para archivos nuevos, y permisos de lectura, escritura y ejecución para carpetas nuevas.

Véase también

gollark: I see.
gollark: Nope, that is blocked.
gollark: Hi snavy, which server are you on?
gollark: I agree, Syl, APIONET actually is:- all- inescapable
gollark: Anima: many, although technically APIONET doesn't connect them, ABR-EB does.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.