Call setegid() before seteuid(), aka while we're still root.

merge-requests/1/head
Julien BLACHE 2008-07-28 10:48:41 +00:00
rodzic ea2a506cba
commit 125ed414d4
2 zmienionych plików z 19 dodań i 2 usunięć

Wyświetl plik

@ -1,3 +1,7 @@
2008-07-28 Julien Blache <jb@jblache.org>
* frontend/saned.c: call setegid() before seteuid(), aka while
we're still root. Patch from Nick Andrew <nick@nick-andrew.net>.
2008-07-27 m. allan noah <kitno455 a t gmail d o t com>
* backend/fujitsu.c, backend/fujitsu.conf.in,
doc/descriptions/fujitsu.desc: backend v73

Wyświetl plik

@ -2788,8 +2788,21 @@ run_standalone (int argc, char **argv)
/* Drop privileges if requested */
if (runas_uid > 0)
{
seteuid (runas_uid);
setegid (runas_gid);
ret = setegid (runas_gid);
if (ret < 0)
{
DBG (DBG_ERR, "FATAL ERROR: setegid to gid %d failed: %s\n", runas_gid, strerror (errno));
exit (1);
}
ret = seteuid (runas_uid);
if (ret < 0)
{
DBG (DBG_ERR, "FATAL ERROR: seteuid to uid %d failed: %s\n", runas_uid, strerror (errno));
exit (1);
}
DBG (DBG_WARN, "Dropped privileges to uid %d gid %d\n", runas_uid, runas_gid);
}