Skip to content

Commit

Permalink
Merge pull request #4207 from flouthoc/additional-groups-backport-1.27
Browse files Browse the repository at this point in the history
[release-v1.27] run: add container `gid` to additional groups
  • Loading branch information
openshift-merge-robot authored Aug 30, 2022
2 parents db8d592 + 4a8bf74 commit 5e3b521
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 0 deletions.
1 change: 1 addition & 0 deletions run_common.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ func (b *Builder) configureUIDGID(g *generate.Generator, mountPoint string, opti
}
g.SetProcessUID(user.UID)
g.SetProcessGID(user.GID)
g.AddProcessAdditionalGid(user.GID)
for _, gid := range user.AdditionalGids {
g.AddProcessAdditionalGid(gid)
}
Expand Down
16 changes: 16 additions & 0 deletions tests/bud.bats
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,22 @@ _EOF
expect_output --substring "invalid response status"
}

@test "build test has gid in supplemental groups" {
_prefetch alpine
run_buildah build $WITH_POLICY_JSON -t source -f $BUDFILES/supplemental-groups/Dockerfile
# gid 1000 must be in supplemental groups
expect_output --substring "Groups: 1000"
}

@test "build test if supplemental groups has gid with --isolation chroot" {
test -z "${BUILDAH_ISOLATION}" || skip "BUILDAH_ISOLATION=${BUILDAH_ISOLATION} overrides --isolation"

_prefetch alpine
run_buildah build --isolation chroot $WITH_POLICY_JSON -t source -f $BUDFILES/supplemental-groups/Dockerfile
# gid 1000 must be in supplemental groups
expect_output --substring "Groups: 1000"
}

# Test skipping images with FROM
@test "build-test skipping unwanted stages with FROM" {
mkdir -p ${TEST_SCRATCH_DIR}/bud/platform
Expand Down
3 changes: 3 additions & 0 deletions tests/bud/supplemental-groups/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM alpine
USER 1000:1000
RUN cat /proc/$$/status
14 changes: 14 additions & 0 deletions tests/run.bats
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,20 @@ function configure_and_check_user() {
expect_output "888:888"
}

@test "run --user and verify gid in supplemental groups" {
skip_if_no_runtime

# Create the container.
_prefetch alpine
run_buildah from $WITH_POLICY_JSON alpine
ctr="$output"

# Run with uid:gid 1000:1000 and verify if gid is present in additional groups
run_buildah run --user 1000:1000 "$ctr" cat /proc/self/status
# gid 1000 must be in additional/supplemental groups
expect_output --substring "Groups: 1000 "
}

@test "run --workingdir" {
skip_if_no_runtime

Expand Down

0 comments on commit 5e3b521

Please sign in to comment.