http://patches.osdyson.org/patch/series/view/lightdm/1.10.3-3+dyson2/dyson-privileges.patch Description: cannot reclaim root "Thus, a set-user-ID-root program wishing to temporarily drop root privileges, assume the identity of an unprivileged user, and then regain root privileges afterward cannot use setuid(). You can accomplish this with seteuid(2)." (http://linux.die.net/man/2/setuid) "For portability, it is recommended that new non-privileged applications use the seteuid() and setegid() functions instead." (http://pubs.opengroup.org/onlinepubs/009695399/functions/setuid.html) Index: lightdm-1.10.3/common/privileges.c =================================================================== --- lightdm-1.10.3.orig/common/privileges.c +++ lightdm-1.10.3/common/privileges.c @@ -23,13 +23,11 @@ privileges_drop (uid_t uid, gid_t gid) #ifdef HAVE_SETRESGID g_assert (setresgid (gid, gid, -1) == 0); #else - g_assert (setgid (gid) == 0); g_assert (setegid (gid) == 0); #endif #ifdef HAVE_SETRESUID g_assert (setresuid (uid, uid, -1) == 0); #else - g_assert (setuid (uid) == 0); g_assert (seteuid (uid) == 0); #endif } @@ -40,13 +38,11 @@ privileges_reclaim (void) #ifdef HAVE_SETRESUID g_assert (setresuid (0, 0, -1) == 0); #else - g_assert (setuid (0) == 0); g_assert (seteuid (0) == 0); #endif #ifdef HAVE_SETRESGID g_assert (setresgid (0, 0, -1) == 0); #else - g_assert (setgid (0) == 0); g_assert (setegid (0) == 0); #endif }