From 4b1fcab11ea3af726c6a79fa7502148d6e451488 Mon Sep 17 00:00:00 2001 From: Lou Berger Date: Sun, 17 Dec 2023 10:22:07 -0500 Subject: [PATCH] mucmd: start process the same way as base process is started Fixes issue seen with rootless containers --- munet/mucmd.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/munet/mucmd.py b/munet/mucmd.py index 5518c6d..056a1ee 100644 --- a/munet/mucmd.py +++ b/munet/mucmd.py @@ -90,19 +90,14 @@ def main(*args): ecmd = "/usr/bin/nsenter" eargs = [ecmd] - output = subprocess.check_output(["/usr/bin/nsenter", "--help"], encoding="utf-8") - if " -a," in output: - eargs.append("-a") - else: - # -U doesn't work - for flag in ["-u", "-i", "-m", "-n", "-C", "-T"]: - if f" {flag}," in output: - eargs.append(flag) + #start mucmd same way base process is started + eargs.append(f"--mount=/proc/{pid}/ns/mnt") + eargs.append(f"--net=/proc/{pid}/ns/net") eargs.append(f"--pid=/proc/{pid}/ns/pid_for_children") + eargs.append(f"--uts=/proc/{pid}/ns/uts") eargs.append(f"--wd={rundir}") - eargs.extend(["-t", pid]) eargs += args.shellcmd - # print("Using ", eargs) + #print("Using ", eargs) return os.execvpe(ecmd, eargs, {**env, **envcfg})