I'm using unshare to perform things like bind mounts local to a certain process without requiring root access, e.g.:unshare -mr bash mount --bind a b(Yes, this seems kinda dumb; in my actual use case; unshare is running a bash script that performs the bind mount. I didn't do that here so that it's a smaller example.)However, if I try a loop mount, it fails:ryan@DevPC-LX ~/stuff/util-linux master $ unshare -mr mount -o loop x.img amount: no permission to look at /dev/loop<N>:/I've tried using mknod to create a fake loop device (requires privileges not available to non-root), manually running losetup (still requires root privileges), and a bunch of other stuff that doesn't work.Of course, I could just do chown myuser /dev/loop*, but that seems like it could become a major security issue.In addition, guestmount is too slow for my use case, and fuseext2 has a warning about possible data loss in write mode (and it's also too slow).Is there any way to do...this? At all?
Mounting a file system image inside an unshared namespace
mount;loop device;namespace;unshare