Skip to content

Commit

Permalink
test join other container userns with selinux enabled
Browse files Browse the repository at this point in the history
Signed-off-by: lifubang <[email protected]>
  • Loading branch information
lifubang committed Oct 25, 2024
1 parent c78f3f2 commit 34a9285
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions tests/integration/userns.bats
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,26 @@ function teardown() {
fi
}

# issue: https://github.com/opencontainers/runc/issues/4466
@test "userns join other container userns[selinux enabled]" {
if ! selinuxenabled; then
skip "requires SELinux enabled and in enforcing mode"
fi
# Create a detached container with the id-mapping we want.
update_config '.process.args = ["sleep", "infinity"]'
runc run -d --console-socket "$CONSOLE_SOCKET" target_userns
[ "$status" -eq 0 ]

# Configure our container to attach to the first container's userns.
target_pid="$(__runc state target_userns | jq .pid)"
update_config '.linux.namespaces |= map(if .type == "user" then (.path = "/proc/'"$target_pid"'/ns/" + .type) else . end)
| del(.linux.uidMappings)
| del(.linux.gidMappings)
| .linux.mountLabel="system_u:object_r:container_file_t:s0:c344,c805"'
runc run -d --console-socket "$CONSOLE_SOCKET" in_userns
[ "$status" -eq 0 ]
}

@test "userns join other container userns [bind-mounted nsfd]" {
requires root

Expand Down

0 comments on commit 34a9285

Please sign in to comment.