Les instructions sur https://wiki.gentoo.org/wiki/LXD que vous mentionnez sont correctes mais peuvent nécessiter un peu plus d'explications.
Sur l'hôte, vous vérifiez d'abord la propriété du répertoire dans lequel les données du conteneur sont stockées. Courir
sudo ls -l /var/lib/lxd/containers
et vérifiez le propriétaire du conteneur avec lequel vous souhaitez partager le répertoire. Dans mon cas, le uid
et les gid
deux étaient 100000.
Ensuite, utilisez-les pour modifier la propriété du répertoire que vous souhaitez partager:
sudo chown 100000:100000 /tmp/share_on_host
Partagez le répertoire avec le conteneur de la manière que vous avez indiquée dans votre commentaire:
lxc config device add mycontainer sharedtmp disk \
path=/tmp/share_on_guest source=/tmp/share_on_host
Maintenant, dans le conteneur, vous verrez que le répertoire /tmp/share_on_guest
(je ne conseillerais pas de monter votre répertoire car /tmp
parce qu'il est utilisé par le système pour d'autres choses et a des autorisations spéciales) appartient à root. À partir de là, vous pouvez utiliser chown
dans le conteneur pour changer la propriété en appropriée uid
et gid
pour votre utilisateur dans le conteneur.
En remarque, après avoir changé la propriété du conteneur par exemple en un utilisateur avec uid
33, vous verrez sur l'hôte qu'il uid
y a maintenant 100033, ce qui est tout à fait logique.
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
. Mais en regardant le répertoire sur le conteneur, le propriétaire et le groupe des fichiers sont définis sur «personne» et «nogroupe» et le montage est en lecture seule.