{"id":7046,"date":"2025-09-16T09:28:00","date_gmt":"2025-09-16T07:28:00","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=7046"},"modified":"2025-09-15T11:54:51","modified_gmt":"2025-09-15T09:54:51","slug":"umask-linux","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/umask-linux\/","title":{"rendered":"Umask en Linux: gu\u00eda pr\u00e1ctica para definir los permisos por defecto"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Qu\u00e9 es umask y su funci\u00f3n en entornos compartidos<\/h2>\n\n\n\n<p><code>umask<\/code> (user file-creation mode mask) es la <strong>m\u00e1scara de permisos<\/strong> que se aplica <em>en el momento de crear<\/em> un archivo o directorio. No cambia lo que ya existe; <strong>influye en c\u00f3mo \u201cnacen\u201d<\/strong> los nuevos objetos del sistema de archivos.<\/p>\n\n\n\n<p>En mi experiencia, cuando varias personas trabajan en el mismo servidor o carpeta compartida, <strong>una umask bien pensada te ahorra roces y tickets<\/strong>. Me he repetido mil veces que, en Linux, \u201ctodo es archivo o directorio\u201d; por eso, <strong>los permisos por defecto importan tanto como los que ajustas despu\u00e9s<\/strong>. Si tu equipo colabora y la umask es demasiado restrictiva, <strong>rompes el flujo<\/strong> (nadie puede editar lo reci\u00e9n creado). Si es demasiado laxa, <strong>abres puertas<\/strong> que no quer\u00edas abrir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"900\" height=\"402\" src=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2025\/09\/servidores-vps-easypanel.webp\" alt=\"servidores vps easypanel\" class=\"wp-image-6996\" title=\"\"><\/figure>\n\n\n\n<p>Conceptualmente, las aplicaciones suelen pedir permisos \u201cbase\u201d:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Archivos<\/strong>: 666 (rw-rw-rw-) \u2192 por defecto <em>no<\/em> se da <code>x<\/code> a los archivos.<\/li>\n\n\n\n<li><strong>Directorios<\/strong>: 777 (rwxrwxrwx).<\/li>\n<\/ul>\n\n\n\n<p>Luego entra <code>umask<\/code> y <strong>quita<\/strong> bits. Por eso es crucial recordar que <strong>umask nunca a\u00f1ade permisos; s\u00f3lo los resta<\/strong>. Para a\u00f1adir o cambiar permisos de algo que ya existe, usar\u00e1s <code>chmod<\/code>, ACLs u otros mecanismos.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Micro-nota pr\u00e1ctica que me funciona: <strong>decide la umask por contexto<\/strong> (escritorio, carpeta de proyecto, servicio systemd) y documenta el porqu\u00e9. La \u201cumask por defecto\u201d rara vez sirve para todo.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo se calculan los permisos: de 666\/777 a <code>R = D &amp; (~M)<\/code><\/h3>\n\n\n\n<p>La f\u00f3rmula mental r\u00e1pida:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>D<\/code> = permisos base solicitados (666 para archivos, 777 para directorios).<\/li>\n\n\n\n<li><code>M<\/code> = umask (la m\u00e1scara).<\/li>\n\n\n\n<li><code>R<\/code> = permisos resultantes = <code>D &amp; (~M)<\/code> (operaci\u00f3n bit a bit).<\/li>\n<\/ul>\n\n\n\n<p>Ejemplos t\u00edpicos:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>umask<\/th><th>Archivos nuevos<\/th><th>Directorios nuevos<\/th><th>Comentario<\/th><\/tr><\/thead><tbody><tr><td>000<\/td><td>666 (-rw-rw-rw-)<\/td><td>777 (drwxrwxrwx)<\/td><td>Todo abierto (raro y riesgoso).<\/td><\/tr><tr><td><strong>002<\/strong><\/td><td><strong>664 (-rw-rw-r&#8211;)<\/strong><\/td><td><strong>775 (drwxrwxr-x)<\/strong><\/td><td>Colaboraci\u00f3n en grupo sin fricciones.<\/td><\/tr><tr><td>007<\/td><td>660 (-rw-rw&#8212;-)<\/td><td>770 (drwxrwx&#8212;)<\/td><td>Grupo cerrado; nadie fuera del grupo entra.<\/td><\/tr><tr><td><strong>022<\/strong><\/td><td><strong>644 (-rw-r&#8211;r&#8211;)<\/strong><\/td><td><strong>755 (drwxr-xr-x)<\/strong><\/td><td>Cl\u00e1sico en estaciones individuales.<\/td><\/tr><tr><td><strong>027<\/strong><\/td><td><strong>640 (-rw-r&#8212;&#8211;)<\/strong><\/td><td><strong>750 (drwxr-x&#8212;)<\/strong><\/td><td>Buen equilibrio seguridad\/colaboraci\u00f3n.<\/td><\/tr><tr><td><strong>077<\/strong><\/td><td><strong>600 (-rw&#8212;&#8212;-)<\/strong><\/td><td><strong>700 (drwx&#8212;&#8212;)<\/strong><\/td><td>M\u00e1xima privacidad (\u00fatil para servicios).<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>A m\u00ed me ha salvado m\u00e1s de una vez tener <strong>002<\/strong> en carpetas de proyecto compartido: todos pueden leer\/escribir, y otros usuarios del sistema no estorban.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Octal vs simb\u00f3lico: usando <code>umask<\/code> y <code>umask -S<\/code><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Octal<\/strong>: <code>umask 022<\/code>, <code>umask 027<\/code>, etc. Es la forma m\u00e1s com\u00fan.<\/li>\n\n\n\n<li><strong>Ver en simb\u00f3lico<\/strong> (legible tipo <code>chmod<\/code>): <code>umask -S<\/code> (por ejemplo, para 022 suele mostrarse <code>u=rwx,g=rx,o=rx<\/code>).<\/li>\n\n\n\n<li><strong>Imprimible<\/strong> (para scripts): <code>umask -p<\/code> devuelve una l\u00ednea reutilizable como <code>umask 022<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ver y cambiar tu umask<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Cambio temporal (s\u00f3lo esta sesi\u00f3n\/shell)<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Ver el valor actual en octal y en simb\u00f3lico\numask\numask -S\n\n# Cambiar s\u00f3lo para esta shell (y subshells)\numask 002\n<\/code><\/pre>\n\n\n\n<p>Este ajuste se pierde cuando cierras la sesi\u00f3n o el proceso que lo estableci\u00f3. En scripts, <strong>la umask del proceso padre<\/strong> puede afectar el resultado si t\u00fa no fijas una expl\u00edcita al inicio.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Consejo que me ha evitado sustos: al principio de los scripts que crean archivos, <strong>deja claro tu <code>umask<\/code><\/strong>. Ej.: <code>umask 077<\/code> para credenciales.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Configuraci\u00f3n permanente por usuario (<code>~\/.bashrc<\/code>, perfiles)<\/h3>\n\n\n\n<p>Para Bash interactivo, a\u00f1ade a <code>~\/.bashrc<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># ~\/.bashrc\numask 022\n<\/code><\/pre>\n\n\n\n<p>Para shells de <strong>login<\/strong> (primera sesi\u00f3n textual o SSH), tambi\u00e9n puedes ponerlo en <code>~\/.profile<\/code> o <code>~\/.bash_profile<\/code> seg\u00fan distro\/shell. En Zsh, <code>~\/.zshrc<\/code>. Tras editar, abre una nueva sesi\u00f3n o recarga: <code>. ~\/.bashrc<\/code>.<\/p>\n\n\n\n<p><strong>Nota<\/strong>: si tu distro usa \u201cuser private groups\u201d, a veces es razonable <strong>002<\/strong> para trabajo colaborativo dentro del mismo grupo del usuario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuraci\u00f3n a nivel de sistema (<code>\/etc\/profile<\/code>, PAM y servicios)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Global interactivo<\/strong>: <code>\/etc\/profile<\/code> (y en algunas distros <code>\/etc\/bash.bashrc<\/code>). \u00dasalo con criterio: afectar\u00e1 a <em>todos<\/em> los usuarios interactivos.<\/li>\n\n\n\n<li><strong>PAM (inicio de sesi\u00f3n)<\/strong>: el m\u00f3dulo <code>pam_umask<\/code> permite definir\/forzar umasks en el login (archivos en <code>\/etc\/pam.d\/<\/code>). \u00datil en entornos multiusuario o con pol\u00edticas centralizadas.<\/li>\n\n\n\n<li><strong>Servicios systemd<\/strong>: cada servicio puede tener su propia umask:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/systemd\/system\/mi-servicio.service\n&#91;Service]\nUMask=007\n<\/code><\/pre>\n\n\n\n<p>Luego: <code>sudo systemctl daemon-reload &amp;&amp; sudo systemctl restart mi-servicio<\/code>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>En mi d\u00eda a d\u00eda, separar <strong>umask de usuarios<\/strong> (p. ej., 022\/002) de la <strong>umask de servicios<\/strong> (a menudo 077) me ha dado tranquilidad: los binarios escriben con lo m\u00ednimo necesario.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Valores recomendados seg\u00fan escenario<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Escritorio individual (comodidad vs privacidad)<\/h3>\n\n\n\n<p>Si trabajas en tu propia cuenta y rara vez compartes archivos con otros usuarios del mismo host, <strong>022<\/strong> suele ser c\u00f3modo: los nuevos archivos salen como 644 y las carpetas 755. Nadie ajeno puede escribir en tus cosas, pero s\u00ed leer si tiene acceso al path. Si te preocupa la lectura por terceros locales (logs con datos sensibles, por ejemplo), podr\u00edas optar por <strong>027<\/strong> (archivos 640, carpetas 750) y a\u00f1adir al grupo s\u00f3lo a quien deba leer.<\/p>\n\n\n\n<p>Inserci\u00f3n personal: <strong>\u201cLos permisos que nacen con el archivo importan tanto como los que ajustas despu\u00e9s.\u201d<\/strong> En mi caso, cuando s\u00e9 que voy a generar reportes con datos internos, <strong>bajo a 027<\/strong> y me olvido de tener que \u201cchmodear\u201d luego.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Colaboraci\u00f3n en grupo (<code>002<\/code>) sin romper el flujo<\/h3>\n\n\n\n<p>Para directorios compartidos entre usuarios del <em>mismo grupo<\/em>, <strong>002<\/strong> es oro: archivos 664 y carpetas 775. As\u00ed, quien comparta el grupo puede editar lo reci\u00e9n creado sin molestarte para que cambies permisos. Complementa con:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Carpeta de proyecto compartida\nsudo chgrp -R mi-grupo \/ruta\/proyecto\nsudo chmod -R 2775 \/ruta\/proyecto   # bit setgid en directorios para heredar grupo\numask 002                           # en sesiones que trabajen ah\u00ed\n<\/code><\/pre>\n\n\n\n<p>El bit <strong>setgid (2xxx)<\/strong> en directorios hace que <strong>todo lo nuevo herede el grupo<\/strong> del directorio, manteniendo la colaboraci\u00f3n fluida.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>En entornos compartidos, me he encontrado con fricci\u00f3n constante cuando la umask era 022: el autor pod\u00eda editar, su grupo no. Con <strong>002<\/strong> esa fricci\u00f3n desaparece.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">M\u00e1xima seguridad (<code>027<\/code>\/<code>077<\/code>) y servicios (ej. web)<\/h3>\n\n\n\n<p>En servidores y procesos que manipulan credenciales o datos sensibles, <strong>077<\/strong> es una postura fuerte: archivos 600 y carpetas 700; nadie fuera del usuario del proceso puede leer o escribir. Para servicios que necesitan que el grupo lea (pero no el resto), <strong>027<\/strong> equilibra bien.<\/p>\n\n\n\n<p>Para <strong>servicios systemd<\/strong>, define <code>UMask=077<\/code> en la unidad y <strong>rev\u00edsalo en logs<\/strong> si el servicio espera permisos m\u00e1s abiertos. A veces aplicaciones web crean directorios de subida o cach\u00e9 y fracasan si no pueden ser le\u00eddos por el proceso HTTP: ajusta grupo\/propiedad y, si es imprescindible, rebaja a <strong>027<\/strong> en ese servicio concreto.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cSi varios usuarios colaboran, una umask demasiado restrictiva o demasiado laxa rompe el flujo.\u201d En servicios, prefiero <strong>pecar de restrictivo<\/strong> y abrir s\u00f3lo lo necesario.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Errores comunes con umask y c\u00f3mo evitarlos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Subshells, scripts y herencia de entorno<\/h3>\n\n\n\n<p>Cada proceso tiene su <code>umask<\/code>. Si un script ejecuta otro (subshell), hereda el valor <strong>a menos que lo cambies<\/strong>. Por eso:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Declara tu <code>umask<\/code> al inicio de scripts que creen archivos: <code>umask 077<\/code>.<\/li>\n\n\n\n<li>En cron\/systemd, <strong>la umask por defecto puede ser distinta<\/strong> a tu shell interactiva. Decl\u00e1rala expl\u00edcitamente.<\/li>\n\n\n\n<li>En sesiones SSH, el <strong>stack de PAM<\/strong> puede aplicar <code>pam_umask<\/code> y sorprenderte. Comprueba con <code>umask<\/code> nada m\u00e1s entrar.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Diferencias con <code>chmod<\/code> y con ACLs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>umask<\/code><\/strong>: s\u00f3lo afecta a lo que <strong>a\u00fan no existe<\/strong>. No puede <strong>a\u00f1adir<\/strong> permisos; s\u00f3lo <strong>los quita<\/strong> del valor base.<\/li>\n\n\n\n<li><strong><code>chmod<\/code><\/strong>: modifica permisos de <strong>objetos existentes<\/strong> (puede a\u00f1adir o quitar).<\/li>\n\n\n\n<li><strong>ACLs (Access Control Lists)<\/strong>: permiten reglas m\u00e1s finas. Los <strong>ACLs por defecto en un directorio<\/strong> pueden <strong>afinar o incluso redefinir<\/strong> lo que esperas de la umask para objetos creados dentro. Si tu carpeta tiene ACLs por defecto, <strong>revisa <code>getfacl<\/code><\/strong>; quiz\u00e1 la umask no explique por s\u00ed sola el resultado.<\/li>\n<\/ul>\n\n\n\n<p>Checklist r\u00e1pido cuando \u201cno cuadran\u201d los permisos reci\u00e9n creados:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00bfQu\u00e9 <code>umask<\/code> tiene el proceso que crea? (<code>strace -e umask<\/code> o imprime <code>umask<\/code> al inicio del script).<\/li>\n\n\n\n<li>\u00bfHay ACL por defecto en el directorio padre? (<code>getfacl .<\/code>).<\/li>\n\n\n\n<li>\u00bfEl servicio tiene <code>UMask=<\/code> propia en systemd?<\/li>\n\n\n\n<li>\u00bfEl directorio usa <strong>setgid<\/strong> para heredar grupo? (<code>ls -ld<\/code> y busca <code>s<\/code> en el grupo).<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Peque\u00f1a lecci\u00f3n que aprend\u00ed a golpes: cuando diagnostiques \u201cpor qu\u00e9 este archivo naci\u00f3 con 640 y no 664\u201d, <strong>mira el directorio padre<\/strong> y el proceso que lo cre\u00f3, no s\u00f3lo tu shell.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">FAQs r\u00e1pidas sobre umask<\/h2>\n\n\n\n<p><strong>\u00bfPuedo hacer que los archivos nazcan con permiso de ejecuci\u00f3n?<\/strong><br>No por umask: la herramienta que crea el archivo debe solicitar <code>x<\/code>. Umask s\u00f3lo quita, no a\u00f1ade.<\/p>\n\n\n\n<p><strong>\u00bfUmask 002 es inseguro?<\/strong><br>Depende. En un host multiusuario y sin aislamiento, dar escritura al grupo puede ser indeseable. En un equipo donde todos pertenecen al mismo grupo de proyecto, <strong>002 es pr\u00e1ctico<\/strong>.<\/p>\n\n\n\n<p><strong>\u00bfD\u00f3nde pongo la umask para SSH?<\/strong><br>Puedes fijarla en <code>~\/.bashrc<\/code>\/<code>~\/.profile<\/code>. Si tu organizaci\u00f3n usa PAM, se puede imponer v\u00eda <code>pam_umask<\/code> (pregunta a quien administre el stack PAM).<\/p>\n\n\n\n<p><strong>\u00bfPor qu\u00e9 <code>umask -S<\/code> me muestra <code>u=rwx,g=rx,o=rx<\/code> con umask 022?<\/strong><br>Es la representaci\u00f3n simb\u00f3lica equivalente; lo importante es que <strong>022 \u2192 archivos 644 \/ directorios 755<\/strong>.<\/p>\n\n\n\n<p><strong>\u00bfCambia algo con contenedores\/Docker?<\/strong><br>S\u00ed: cada contenedor\/proceso tiene su propia umask. Decl\u00e1rala en la <strong>entrypoint<\/strong> o en el propio servicio que corre dentro, y controla permisos de vol\u00famenes compartidos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Sobre Umask<\/h2>\n\n\n\n<p><code>umask<\/code> es una palanca peque\u00f1a con impacto grande. Si trabajas en entornos compartidos, <strong>decidir la umask por contexto<\/strong> evita sorpresas: <strong>002<\/strong> para colaborar sin fricci\u00f3n, <strong>022<\/strong> para estaciones individuales, <strong>027\/077<\/strong> cuando la privacidad manda, y <code>UMask=<\/code> espec\u00edfico en servicios. Al final, <strong>los permisos con los que \u201cnacen\u201d tus archivos<\/strong> pueden ahorrarte (o generarte) mucho trabajo.<\/p>\n\n\n\n<p><strong>Opini\u00f3n Personal<\/strong><\/p>\n\n\n\n<p>Si algo he aprendido en Linux es que <strong>umask no es un detalle t\u00e9cnico<\/strong>, es <em>pol\u00edtica operativa<\/em>. Define c\u00f3mo \u201cnacen\u201d tus archivos y, con ello, tu modelo de confianza. En entornos compartidos, defender\u00e9 siempre <strong>002<\/strong> para no frenar a tu equipo; nada mata m\u00e1s la colaboraci\u00f3n que un archivo reci\u00e9n creado que el resto no puede editar. En servidores y procesos con datos sensibles, mi postura es clara: <strong>077<\/strong> o, como m\u00ednimo, <strong>027<\/strong>. Prefiero <strong>pecar de restrictivo en servicios<\/strong> y abrir s\u00f3lo lo imprescindible, que al rev\u00e9s.<\/p>\n\n\n\n<p>Otra man\u00eda que mantengo: <strong>declarar la umask expl\u00edcitamente en scripts y unidades systemd<\/strong>. Confiar en valores heredados es invitar a los \u201c\u00bfpor qu\u00e9 este fichero sali\u00f3 con 640?\u201d. Y si un proyecto es realmente colaborativo, combino <strong>umask 002 + setgid en el directorio<\/strong> para heredar grupo y evitar el baile de permisos.<\/p>\n\n\n\n<p>En resumen, <strong>no existe una umask universal<\/strong>. Documenta el contexto, fija el valor acorde al riesgo y no la dejes a la deriva. Te ahorras fricciones, incidencias y, a veces, sustos.<\/p>\n\n\n\n<p>\u00bfT\u00fa qu\u00e9 opinas? <strong>\u00bfQu\u00e9 umask usas y por qu\u00e9?<\/strong> D\u00e9jame tus comentarios abajo: leo y respondo para seguir la conversaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qu\u00e9 es umask y su funci\u00f3n en entornos compartidos umask (user file-creation mode mask) es la m\u00e1scara de permisos que se aplica en el momento de crear un archivo o directorio. No cambia lo que ya existe; influye en c\u00f3mo \u201cnacen\u201d los nuevos objetos del sistema de archivos. En mi experiencia, cuando varias personas trabajan [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7047,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[15],"tags":[1097,608,779,1096,1095,838],"class_list":["post-7046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","tag-almalinux","tag-configuracion","tag-linux","tag-permisos","tag-umask","tag-unix"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=7046"}],"version-history":[{"count":3,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7046\/revisions"}],"predecessor-version":[{"id":7050,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7046\/revisions\/7050"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/7047"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=7046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=7046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=7046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}