Solución de la comunidad

Corrige los errores de permisos de carpetas de Docker en ZimaOS con exFAT y PUID/PGID

A February 2026 ZimaOS permissions thread where HandBrake could read but not write to an exFAT drive. The discussion showed why changing container PUID/PGID does not create POSIX ownership on exFAT and why host mount behavior matters.

Cambiar PUID y PGID dentro de una aplicación Docker no garantiza que el contenedor pueda escribir en todos los sistemas de archivos del host. En este hilo de febrero de 2026, HandBrake no podía escribir en un SSD montado bajo /media/sda2, incluso después de que el usuario probara varios identificadores de usuario y grupo.

El detalle decisivo era el sistema de archivos: la unidad era exFAT y estaba montada con root como propietario. exFAT no proporciona la propiedad UID/GID normal por archivo de Linux de la misma forma que ext4, por lo que cambiar únicamente el usuario del contenedor no podía solucionar los permisos del montaje del host.

El problema no era solo el usuario del contenedor

El usuario mostró que el contenedor de HandBrake ya tenía valores PUID y PGID, pero la carpeta del host seguía apareciendo como propiedad de root. Un miembro de la comunidad separó correctamente la identidad de Docker de la semántica del sistema de archivos del host.

Esta distinción se aplica a muchas aplicaciones autoalojadas: el contenedor solo puede utilizar los permisos que expone el montaje del host.

exFAT utiliza la asignación de permisos a nivel de montaje

exFAT es útil para mover discos entre sistemas operativos, pero no almacena la propiedad de Linux ni los bits de modo como ext4. El comportamiento de UID, GID y las máscaras se establece cuando se monta el sistema de archivos.

Por eso, los intentos habituales de chown o chmod pueden parecer ineficaces en un disco exFAT, aunque los mismos comandos funcionen normalmente en ext4.

El ZimaOS actual incluye exFAT como sistema de archivos compatible con lectura y escritura. Esto describe el acceso básico al sistema de archivos, no el comportamiento de los permisos POSIX específicos de Docker. Consulta la tabla actual de compatibilidad de sistemas de archivos para decidir si en un disco de servidor es más importante la portabilidad o contar con permisos nativos de Linux.

En este caso, tampoco funcionó reformatear mediante la interfaz

Formateador de almacenamiento de ZimaOS que muestra un error de estado de salida 1 mientras el usuario intenta reformatear el disco exFAT
El usuario intentó avanzar hacia una configuración de servidor basada en ext4, pero el propio formateador de ZimaOS devolvió un error.

Una inspección posterior mostró que el disco estaba montado en varias ubicaciones gestionadas por ZimaOS y seguía ocupado a través del servicio Files. El hilo no llegó a una secuencia oficial de reparación de IceWhale, por lo que los comandos destructivos de desmontaje o fstab publicados en respuestas de la comunidad no deben volver a publicarse como instrucciones oficiales.

Mapea explícitamente la carpeta del host en el contenedor

Una respuesta posterior ilustró la asignación conceptual correcta de volúmenes: elegir un directorio real del host y asignarlo a la ruta esperada por la aplicación dentro del contenedor.

Asignación de volumen de una carpeta del host bajo /media a /app/miningcore dentro de un contenedor Docker en ZimaOS
La asignación resuelve la visibilidad de la ruta dentro del contenedor; el sistema de archivos del host aún debe proporcionar permisos de escritura al usuario del contenedor.

Por qué ext4 es más sencillo para el almacenamiento de contenedores exclusivo de Linux

La recomendación de la comunidad fue utilizar ext4 para un disco dedicado a cargas de trabajo de Docker, porque ext4 admite la propiedad y los bits de permisos normales de Linux. Es una recomendación práctica de administración de Linux, no un requisito de IceWhale que obligue a que todos los discos de datos de ZimaOS utilicen ext4.

Si la portabilidad entre plataformas es más importante, exFAT puede seguir siendo adecuado, pero el modelo de propiedad a nivel de montaje debe coincidir con los usuarios que ejecutan tus contenedores.

Mantén el almacenamiento de las aplicaciones alejado de la unidad del sistema

El ZimaOS actual permite elegir la ubicación de los datos de las aplicaciones y asignar carpetas de almacenamiento reales a los contenedores. La explicación de cómo las carpetas del host se convierten en volúmenes de los contenedores resulta útil antes de cambiar la propiedad o reformatear un disco.

Preguntas frecuentes sobre los permisos de carpetas de Docker

¿Por qué cambiar PUID y PGID no solucionó la unidad exFAT?

Porque exFAT no almacena la propiedad normal de los archivos de Linux. El UID, el GID y la máscara del montaje determinan cómo aparece el sistema de archivos para los procesos de Linux.

¿ZimaOS admite lectura y escritura en exFAT?

Sí. El ZimaOS actual incluye exFAT como sistema de archivos de lectura y escritura, pero eso no lo hace equivalente a ext4 en cuanto a la propiedad POSIX.

¿Todas las unidades de datos de Docker deberían usar ext4?

No necesariamente, pero ext4 es más sencillo cuando el disco está dedicado a contenedores de Linux que dependen de la propiedad y los permisos normales.

¿Se resolvió el error de formateo en el hilo?

No se publicó ninguna solución final oficial. El disco seguía ocupado debido a los montajes y servicios gestionados por ZimaOS.