-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow the use of unshare for unprivileged user namespaces #317
Comments
@DrDaveD I don't think this is anything we are explicitly doing in Shifter. I think the kernel doesn't allow it for some reason. But I'm not 100% certain. |
Normally the kernel allows nesting of unprivileged namespaces. On the host, can you run Docker deliberately blocks the |
I'm not certain but I think this may be the reason... From the unshare manpage...
I thinking maybe this is kicking in for Shifter. I would have to dig through the kernel code to know for sure. |
Good find, that does look like a likely explanation. Could shifter use a mount namespace before doing chroot? That's exactly what |
It's possible that chroot itself doesn't work in a mount namespace, at least an unprivileged one. In cvmfsexec I ended up having to use |
Shifter does use the mount namespace in the case where you don't use the WLM integration (which is how I was testing it). This could be a side effect of how some of the mounts are done in the name space but I'm not sure. |
Maybe it needs pivot_root instead of chroot? |
@DrDaveD I'll take a look. It may take me a bit to set up a test instance, but I'll try to experiment and reply. |
Any news on this (has been a month...)? |
Currently if you try to allocate an unprivileged user namespace inside of shifter, even if the host allows it (e.g. on Perlmutter), an error is returned from the unshare command:
Can that be changed to be allowed? With that we should be able to run cvmfsexec and unprivileged singularity under shifter.
The text was updated successfully, but these errors were encountered: