Le istruzioni su https://wiki.gentoo.org/wiki/LXD menzionate sono corrette ma potrebbero essere necessarie ulteriori spiegazioni.
Sull'host si controlla innanzitutto la proprietà della directory in cui sono archiviati i dati del contenitore. Correre
sudo ls -l /var/lib/lxd/containers
e controlla il proprietario del contenitore con cui desideri condividere la directory. Nel mio caso entrambi uid
ed gid
erano 100000.
Quindi, utilizzali per modificare la proprietà della directory che desideri condividere:
sudo chown 100000:100000 /tmp/share_on_host
Condividi la directory con il contenitore come indicato nel tuo commento:
lxc config device add mycontainer sharedtmp disk \
path=/tmp/share_on_guest source=/tmp/share_on_host
Ora, nel contenitore, vedrai che la directory /tmp/share_on_guest
(non consiglierei di montare la tua directory /tmp
perché è usata dal sistema per altre cose e ha autorizzazioni speciali) è di proprietà di root. Da qui in poi è possibile utilizzare chown
nel contenitore per modificare la proprietà in modo appropriato uid
e gid
per l'utente nel contenitore.
Come nota a margine, dopo aver cambiato la proprietà nel contenitore, ad esempio un utente con uid
33, vedrai sull'host che uid
ora c'è 100033, il che ha perfettamente senso.
lxc config device add confexample sharedtmp disk path=/tmp source=/tmp/shared
. Ma guardando la directory sul contenitore, il proprietario e il gruppo per i file in essa contenuti sono impostati su "nobody" e "nogroup" e il mount è di sola lettura.