summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-06-17 21:22:06 -0400
committerGitHub <noreply@github.com>2020-06-17 21:22:06 -0400
commit6472b44c3420fbba04dc3b5fe96be6576ee43e61 (patch)
treec44da0040048198cebab3958be2d824e686d71be
parent6e410ede70aa8d086cf3d894e51de89f9e7bb83a (diff)
parentc385e6d36334342195203e5bd368f772992911d1 (diff)
downloadpodman-6472b44c3420fbba04dc3b5fe96be6576ee43e61.tar.gz
podman-6472b44c3420fbba04dc3b5fe96be6576ee43e61.tar.bz2
podman-6472b44c3420fbba04dc3b5fe96be6576ee43e61.zip
Merge pull request #6654 from rhatdan/keepid
Don't ignore --user flag in rootless --userns keepid
-rw-r--r--pkg/specgen/generate/namespaces.go4
-rw-r--r--test/e2e/run_userns_test.go7
2 files changed, 8 insertions, 3 deletions
diff --git a/pkg/specgen/generate/namespaces.go b/pkg/specgen/generate/namespaces.go
index e67afe1bf..3815bbcc9 100644
--- a/pkg/specgen/generate/namespaces.go
+++ b/pkg/specgen/generate/namespaces.go
@@ -153,9 +153,7 @@ func namespaceOptions(ctx context.Context, s *specgen.SpecGenerator, rt *libpod.
// User
switch s.UserNS.NSMode {
case specgen.KeepID:
- if rootless.IsRootless() {
- s.User = ""
- } else {
+ if !rootless.IsRootless() {
// keep-id as root doesn't need a user namespace
s.UserNS.NSMode = specgen.Host
}
diff --git a/test/e2e/run_userns_test.go b/test/e2e/run_userns_test.go
index 25f12ec2e..5b9a99daa 100644
--- a/test/e2e/run_userns_test.go
+++ b/test/e2e/run_userns_test.go
@@ -89,6 +89,13 @@ var _ = Describe("Podman UserNS support", func() {
Expect(ok).To(BeTrue())
})
+ It("podman --userns=keep-id --user root:root", func() {
+ session := podmanTest.Podman([]string{"run", "--userns=keep-id", "--user", "root:root", "alpine", "id", "-u"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(Equal("0"))
+ })
+
It("podman --userns=auto", func() {
u, err := user.Current()
Expect(err).To(BeNil())