¿Por qué Home Assistant recrea los archivos faltantes con el propietario incorrecto?

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.

Home Assistant no elige un nombre de usuario de host descriptivo cuando vuelve a crear un archivo. Normalmente, el archivo nuevo hereda el UID numérico, el GID, la umask, la ACL y las reglas del sistema de archivos del proceso que lo creó dentro del contenedor.

Esto se hace visible en un montaje bind porque Linux registra identidades numéricas, mientras que el host y el contenedor pueden asignar nombres distintos al mismo número. Antes de cambiar los permisos, detén Home Assistant, registra los propietarios numéricos antiguos y nuevos, identifica el proceso en ejecución y determina si el archivo fue creado por Home Assistant, un entrypoint, una herramienta de copia de seguridad o el host.

Confirma qué proceso creó el archivo

Compara la hora de creación o modificación del archivo con el inicio del contenedor, la restauración, la actualización o la tarea del complemento. Después, comprueba el UID y el GID numéricos en el host y la identidad del proceso de Home Assistant dentro del contenedor. Los nombres de usuario pueden diferir; los números son la comparación fiable.

El problema subyacente del contenedor es que los archivos montados mediante bind se crean con la identidad utilizada por el proceso del contenedor. Una explicación independiente del desajuste de propietarios entre el sistema de archivos del host muestra por qué hacer coincidir solo los nombres no resuelve las diferencias de UID y GID numéricos.

Si el propietario nuevo coincide con el proceso del contenedor, se confirma la causa principal. Si coincide con root u otro proceso auxiliar, inspecciona el entrypoint, la herramienta de restauración, la tarea programada o el script del host antes de cambiar el usuario de ejecución de Home Assistant.

Comprueba el montaje, la ACL y los límites del sistema de archivos

Confirma que la ruta sea el montaje bind previsto y no un volumen con nombre ni un directorio de la imagen oculto por el montaje. Comprueba el propietario del directorio principal, el modo, la ACL predeterminada y si el sistema de archivos es local, NFS, SMB u otra ruta respaldada por red.

Un proceso solo puede crear un archivo conforme a los permisos y al mapeo que presenta el sistema de archivos. El mapeo de identidades de NFS, el root squashing, las opciones de montaje de SMB, las ACL predeterminadas y una umask restrictiva pueden cambiar el propietario aparente o el acceso de escritura incluso cuando el UID del contenedor es correcto.

Si un archivo temporal creado con el UID de ejecución recibe el propietario esperado, continúa con el creador específico de la aplicación. Si recibe el propietario incorrecto, repara primero el montaje o el mapeo del sistema de archivos; cambiar la configuración de Home Assistant no anulará esa capa.

Repara únicamente el desajuste de propietarios confirmado

Detén Home Assistant antes de cambiar la propiedad de bases de datos, registros o archivos de configuración activos. Crea una copia de seguridad o una instantánea y, después, cambia únicamente la ruta afectada al UID y GID de servicio verificados. Conserva los bits de ejecución, las ACL y los permisos especiales en lugar de aplicar un modo amplio, como permitir la escritura a todo el mundo.

Actualiza la definición del despliegue para que se utilice la misma identidad de ejecución después de volver a crear el contenedor, o documenta por qué la imagen debe ejecutarse con su identidad predeterminada y haz que la ruta del host coincida con ella. Evita hacer un chown de todo el árbol durante el inicio en cada arranque; puede ser lento, ocultar errores de diseño y modificar archivos pertenecientes a otros servicios.

La guía de ZimaSpace sobre cómo evitar la deriva de permisos ofrece una lista de comprobación operativa más amplia para montajes, propietarios, pruebas de escritura y comportamiento de restauración después de corregir el desajuste de propietarios inmediato.

-15% OFF

Verifica la propiedad después de volver a crear el archivo y realizar una escritura real

Inicia Home Assistant y activa exactamente la operación que volvió a crear el archivo. Confirma que el archivo nuevo tenga el propietario numérico previsto, que Home Assistant pueda actualizarlo y que el proceso de copia de seguridad del host pueda leerlo. Un inicio correcto sin realizar ninguna escritura no demuestra que se haya solucionado el problema.

Reinicia una vez y vuelve a crear el contenedor a partir de la configuración guardada. El propietario, la ACL y el comportamiento de escritura deben mantenerse estables después de ambos eventos. Comprueba los registros en busca de errores de permiso denegado, base de datos de solo lectura, copia de seguridad fallida o errores de configuración de integraciones.

Solicita ayuda al responsable de mantenimiento de la imagen o al administrador del almacenamiento si la identidad creadora cambia inesperadamente entre versiones, un sistema de archivos de red reescribe la propiedad o un servicio necesario no puede compartir la ruta de forma segura. Conserva los identificadores numéricos, la definición del montaje, el tipo de sistema de archivos y una reproducción mínima.

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.