1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
From: Yves-Alexis Perez <corsac@debian.org>
Date: Fri, 22 Feb 2019 17:10:57 +0100
Subject: Fix default PATH environment variable
Use the Debian default PATH when needed
Bug: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/798277
---
src/seat.c | 5 +++++
src/session-child.c | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/seat.c b/src/seat.c
index 775ddbb..4c0149b 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -361,6 +361,11 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name,
process_set_env (script, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH"));
if (g_getenv ("PATH"))
process_set_env (script, "PATH", g_getenv ("PATH"));
+ else
+ if (user_get_uid (user) == 0)
+ process_set_env (script, "PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
+ else
+ process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games");
/* Variables required for regression tests */
if (g_getenv ("LIGHTDM_TEST_ROOT"))
diff --git a/src/session-child.c b/src/session-child.c
index 5d77c5a..7d0c7fd 100644
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -393,7 +393,10 @@ session_child_run (int argc, char **argv)
else
{
/* Set POSIX variables */
- pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin");
+ if (user_get_uid (user) == 0)
+ pam_putenv (pam_handle, "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
+ else
+ pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games");
pam_putenv (pam_handle, g_strdup_printf ("USER=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user)));
|