Las instrucciones en https://wiki.gentoo.org/wiki/LXD que mencionas son correctas pero pueden necesitar un poco más de explicación.
En el host, primero verifica la propiedad del directorio en el que se almacenan los datos del contenedor. correr
sudo ls -l /var/lib/lxd/containers
y marque el propietario del contenedor con el que desea compartir el directorio. En mi caso, el uid
y gid
ambos fueron 100000.
Luego, utilícelos para cambiar la propiedad del directorio que desea compartir:
sudo chown 100000:100000 /tmp/share_on_host
Comparta el directorio con el contenedor de la manera que indicó en su comentario:
lxc config device add mycontainer sharedtmp disk \
path=/tmp/share_on_guest source=/tmp/share_on_host
Ahora, en el contenedor, verá que el directorio /tmp/share_on_guest
(no recomendaría montar su directorio /tmp
porque el sistema lo utiliza para otras cosas y tiene permisos especiales) es propiedad de root. A partir de aquí, puede usar chown
en el contenedor para cambiar la propiedad a la apropiada uid
y gid
para su usuario en el contenedor.
Como nota al margen, después de cambiar la propiedad del contenedor a, por ejemplo, un usuario con uid
33, verá en el host que uid
ahora hay 100033, lo que tiene mucho sentido.
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
. Pero mirando el directorio en el contenedor, el propietario y el grupo de los archivos están configurados en 'nobody' y 'nogroup' y el montaje es de solo lectura.