I’m trying to mount my local
/home/myuser/development directory inside an lxd container, at
/home/myuser/development. It actually kind of works, but not completely.
I’m using a custom profile like this
# this is the output of lxc profile show myprofile config: raw.idmap: both 1000 1000 user.vendor-data: | #cloud-config locale: pt_PT.UTF-8 users: - name: myuser lock_passwd: false shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] ssh_import_id: 'gh:mygithubuser description: devices: dev_directory: path: /home/myuser/development source: /home/myuser/development type: disk name: myprofile used_by:
Now if I launch a new container with
lxc launch ubuntu:18.04 test -p default -p myprofile
The container starts up and my
/home/myuser/development directory is indeed properly mounted. The problem is that
/home/myuser is owned by root.
# lxc exec test -- /bin/bash ls -lah /home drwxr-xr-x 3 root root 4.0K Jan 9 11:26 . drwxr-xr-x 22 root root 4.0K Dec 6 16:02 .. drwxr-xr-x 3 root root 4.0K Jan 9 11:26 myuser
This also means that the
ssh_import_id entry of my profile’s cloud-init section fails (since it cannot write to the user’s own home directory).
I do however have ownership of the stuff under the mounted dir:
ls -lah /home/myuser total 12K drwxr-xr-x 3 root root 4.0K Jan 9 11:26 . drwxr-xr-x 3 root root 4.0K Jan 9 11:26 .. drwxrwxr-x 73 myuser myuser 4.0K Jan 9 10:43 development
In order to overcome this I need to manually do a recursive chown in
myuser home dir and then import my github ssh key.
Is it not possible to mount sub-dirs of of a user’s home with lxd?