<div dir="ltr"><div><div><div>Hi all<br><br></div>I'm trying to set up a workflow for software development using lxd. For this I'd like to mount my ~/dev directory inside lxd containers. Looking around I've found [1] and [2] and have adapted the described procedure to my case, which seems to differ only in the fact that I don't want to mount my whole home directory inside a container, only ~/dev.<br><br></div>Unfortunately what is happening is that:<br>- I can successfully mount ~/dev inside containers with the correct user mappings. I can create/remove files from inside/outside a container - this is great<br>- The containers are created in such a way that makes the home directory be owned by root and not by the normal user. This means that inside the container I am unable to write to my own home dir, even though I can write to ~/dev. I can work around this by entering the container and issuing a chown command  to my home dir, but this feels wrong. I think something is not right somehow.<br></div><div><br></div><div>How would I be able to successfully have the home dir of the container's user by writable by said user?</div><div><br></div><div>I'm attaching the contents of relevant files to the end of this e-mail.<br></div><div><br></div><div><br></div><div>Thanks in advance</div><div><br></div><div><br></div><div><div><br>[1] - <a href="https://stgraber.org/2017/06/15/custom-user-mappings-in-lxd-containers/">https://stgraber.org/2017/06/15/custom-user-mappings-in-lxd-containers/</a></div><div>[2] - <a href="https://gist.github.com/bloodearnest/ebf044476e70c4baee59c5000a10f4c8">https://gist.github.com/bloodearnest/ebf044476e70c4baee59c5000a10f4c8</a></div><div><br></div><div><br></div><div><br></div><div># contents of /etc/subuid<br>ricardo:100000:65536<br>lxd:165536:65536<br>root:165536:65536<br>root:1000:1<br>lxd:1000:1</div><div><br></div><div># contents of /etc/subgid<br></div><div>ricardo:100000:65536<br>lxd:165536:65536<br>root:165536:65536<br>root:1000:1<br>lxd:1000:1</div><div><br></div><div># my custom lxc profile</div><div>config:<br>  raw.idmap: both 1000 1000<br>  user.vendor-data: |<br>    #cloud-config<br>    users:<br>      - name: ricardo<br>        lock_passwd: true<br>        shell: /bin/bash<br>        sudo: 'All=(All) NOPASSWD:ALL'<br>        groups: users, admin<br>description: Allow mounting dirs inside container<br>devices:<br>  dev:<br>    path: home/ricardo/dev<br>    source: /home/ricardo/dev<br>    type: disk<br>name: ricardo<br></div><div><br></div><div># how I am creating lxc containers</div><div>lxc launch ubuntu:16.04 test --profile default --profile ricardo<br></div><div><br clear="all"><div><div><br>-- <br><div class="gmail_signature">___________________________ ___ __<br>Ricardo Garcia Silva</div>
</div></div></div></div></div>