summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2018-11-23 23:39:25 +0100
committerGiuseppe Scrivano <gscrivan@redhat.com>2018-11-28 10:19:13 +0100
commit0365f573710dfc8ee7f9e13082a238deea675dec (patch)
tree55d679e5e734a686115bd14808d8c618be56c9f9 /libpod
parent6df7409cb5a41c710164c42ed35e33b28f3f7214 (diff)
downloadpodman-0365f573710dfc8ee7f9e13082a238deea675dec.tar.gz
podman-0365f573710dfc8ee7f9e13082a238deea675dec.tar.bz2
podman-0365f573710dfc8ee7f9e13082a238deea675dec.zip
rootless: fix cleanup
The conmon exit command is running inside of a namespace where the process is running with uid=0. When it launches again podman for the cleanup, podman is not running in rootless mode as the uid=0. Export some more env variables to tell podman we are in rootless mode. Closes: https://github.com/containers/libpod/issues/1859 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r--libpod/oci.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/libpod/oci.go b/libpod/oci.go
index a7aec06e5..ee1677b67 100644
--- a/libpod/oci.go
+++ b/libpod/oci.go
@@ -316,6 +316,10 @@ func (r *OCIRuntime) createOCIContainer(ctr *Container, cgroupParent string, res
cmd.Env = append(r.conmonEnv, fmt.Sprintf("_OCI_SYNCPIPE=%d", 3))
cmd.Env = append(cmd.Env, fmt.Sprintf("_OCI_STARTPIPE=%d", 4))
cmd.Env = append(cmd.Env, fmt.Sprintf("XDG_RUNTIME_DIR=%s", runtimeDir))
+ cmd.Env = append(cmd.Env, fmt.Sprintf("_LIBPOD_USERNS_CONFIGURED=%s", os.Getenv("_LIBPOD_USERNS_CONFIGURED")))
+ cmd.Env = append(cmd.Env, fmt.Sprintf("_LIBPOD_ROOTLESS_UID=%s", os.Getenv("_LIBPOD_ROOTLESS_UID")))
+ cmd.Env = append(cmd.Env, fmt.Sprintf("HOME=%s", os.Getenv("HOME")))
+ cmd.Env = append(cmd.Env, fmt.Sprintf("XDG_RUNTIME_DIR=%s", runtimeDir))
if r.reservePorts {
ports, err := bindPorts(ctr.config.PortMappings)