fix: Check for *host* non-root uid when setting unsquashfs flags #267
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the Pull Request (PR):
We were previously setting
--user-xattrs
/--no-xattrs
based onthe current euid when calling
unsquashfs
. However, in a non-setuidinstall
--fakeroot
build the euid is 0, so the flags will not beset. On distributions other than EL / Fedora (i.e. Debian / Ubuntu
which are not selinux native), this can cause failed extraction.
Decide if we are performing a rootless extraction based on the host
uid, outside of any namespace that is in play.
This fixes or addresses the following GitHub issues:
--fakeroot
mode #266See also apptainer/singularity#6113
Before submitting a PR, make sure you have done the following:
make check
and tested this PR locally with amake test
, andmake testall
if possible (see CONTRIBUTING.md).