From 89cb419d9cbdfdb785f3cf1e8367104710d40c31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Tue, 11 Jul 2017 23:50:35 +0200 Subject: [PATCH] qrexec: start process in a login shell Prepend "-" to shell name, to instruct it being a login shell. This way shell will initialize environment, load /etc/profile etc. Fixes QubesOS/qubes-issues#2903 --- qrexec/qrexec-agent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qrexec/qrexec-agent.c b/qrexec/qrexec-agent.c index 6a5a139..48bb2f6 100644 --- a/qrexec/qrexec-agent.c +++ b/qrexec/qrexec-agent.c @@ -211,7 +211,7 @@ void do_exec(const char *cmd) setsid(); /* This is a copy but don't care to free as we exec later anyways. */ env = pam_getenvlist (pamh); - execle("/bin/sh", "sh", "-c", realcmd, (char*)NULL, env); + execle("/bin/sh", "-sh", "-c", realcmd, (char*)NULL, env); exit(127); default: /* parent */