Cómo evitar la deriva de permisos en las carpetas de datos de Home Assistant

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

La deriva de permisos ocurre cuando los datos de Home Assistant siguen presentes, pero el proceso que ahora los monta ve una propiedad, asignación de UID/GID, modo de acceso o contexto de seguridad diferente al del proceso que los creó. El fallo suele aparecer después de migrar el host, restaurar datos, cambiar el modo de Docker, copiar datos a un NAS o ejecutar manualmente una operación chown/chmod.

Evítala documentando el modelo esperado de montaje y propiedad antes de realizar cambios, conservando los metadatos durante las copias y comprobando el acceso de lectura y escritura después de recrear el entorno. No normalices todos los fallos con chmod -R 777; eso oculta la discrepancia y debilita el modelo de recuperación.

Documenta el límite de almacenamiento antes de cambiar los permisos

Empieza por identificar si /config es un volumen gestionado por Docker, un montaje bind de Linux, un montaje de red o una ruta dentro de una máquina virtual. La estrategia de propiedad correcta depende de qué capa sea realmente la propietaria de los archivos.

La guía actual de instalación de Home Assistant Container concreta este contrato de almacenamiento: la carpeta del host seleccionada se monta en /config con acceso de lectura y escritura. Registra la ruta de origen exacta, el destino del montaje y el modo de acceso, en lugar de basarte únicamente en el nombre de la carpeta.

Registra también si Home Assistant se ejecuta mediante Docker estándar, Docker rootless, un espacio de nombres de usuario reasignado o un gestor de contenedores de un NAS. Es posible que las identidades numéricas que se ven dentro y fuera del contenedor no sean las mismas.

La asignación de UID y GID puede cambiar aunque los archivos no se muevan

Una carpeta puede permanecer en la misma ruta del host mientras la asignación efectiva de usuarios cambia internamente. Esto es habitual al pasar de Docker con privilegios a Docker rootless, activar la reasignación de espacios de nombres de usuario o restaurar datos en un host con cuentas locales diferentes.

La documentación actual de Docker sobre la asignación de UID/GID muestra que los modos rootless y de espacio de nombres de usuario traducen las identidades del contenedor a ID de host diferentes. Por tanto, un archivo que parece tener la propiedad correcta en un host puede dejar de permitir la escritura después de cambiar el modelo de despliegue.

Compara la propiedad numérica con ls -ln o herramientas equivalentes en lugar de basarte únicamente en los nombres de las cuentas, que pueden corresponder a números diferentes en el nuevo host.

Conserva los metadatos al copiar los datos de Home Assistant

Una herramienta de migración o una copia de archivos mediante una interfaz gráfica puede conservar el contenido, pero no la propiedad, los bits de modo, las ACL, los atributos extendidos o las etiquetas de seguridad. Esto puede dejar los archivos YAML legibles, mientras que las bases de datos, el almacenamiento oculto, los certificados o los directorios necesarios para escribir fallan más adelante.

Usa un método de copia que conserve los metadatos que realmente utilice tu plataforma. Después de la transferencia, compara archivos y directorios representativos del origen y el destino antes de iniciar Home Assistant.

La guía de ZimaSpace sobre tratar las cuentas y los permisos como una política doméstica repetible se aplica aquí: la propiedad debe ser una parte deliberada de la infraestructura, no una sucesión de soluciones puntuales.

-15% OFF

Mantén el montaje con acceso de escritura solo donde Home Assistant necesite escribir

Home Assistant debe poder actualizar su configuración persistente y su base de datos. Un montaje recreado accidentalmente como de solo lectura puede permitir el inicio y la lectura, pero provocar más tarde fallos al escribir, realizar copias de seguridad, confirmar cambios en la base de datos o modificar la configuración.

Las rutas del host montadas mediante bind pueden exponerse con acceso de lectura y escritura o de solo lectura. La guía de Docker sobre el uso compartido de archivos muestra que el modo efectivo del montaje determina si un contenedor puede modificar el directorio del host. Comprueba el montaje en ejecución en lugar de asumir que el archivo Compose se aplicó como estaba previsto.

Por el contrario, no hagas escribibles directorios del host que no estén relacionados solo porque Home Assistant necesite acceso a una ruta de configuración. Mantén reducido el límite de permisos.

Realiza una prueba de aceptación de permisos después de cada restauración o recreación

Un inicio correcto solo demuestra una parte del contrato del sistema de archivos. Home Assistant puede leer archivos existentes, pero fallar más adelante cuando necesite escribir en la base de datos, crear una copia de seguridad, actualizar un registro o guardar un panel.

  • Confirma que se cargan la configuración y las integraciones esperadas.
  • Realiza un cambio inofensivo gestionado desde la interfaz y verifica que persista después de reiniciar.
  • Confirma que Recorder escribe un nuevo cambio de estado.
  • Crea una copia de seguridad pequeña si el tipo de instalación lo permite.
  • Revisa los registros en busca de errores de permiso denegado, sistema de archivos de solo lectura o escritura de la base de datos.

Si la prueba falla, corrige el propietario, grupo, ACL, asignación del espacio de nombres o modo de montaje específico responsable de esa ruta. La deriva de permisos se corrige cuando el despliegue documentado puede recrear el acceso correcto sin comandos manuales de emergencia.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.