More debug messages to trace euid/egid changes.
This commit is contained in:
committed by
Benoît Dejean
parent
72b4aed8f1
commit
45c8452140
@@ -25,6 +25,7 @@
|
|||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
#include <glibtop/union.h>
|
#include <glibtop/union.h>
|
||||||
#include <glibtop/sysdeps.h>
|
#include <glibtop/sysdeps.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
|
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
|
|
||||||
@@ -42,6 +43,8 @@ main(int argc, char *argv[])
|
|||||||
uid = getuid (); euid = geteuid ();
|
uid = getuid (); euid = geteuid ();
|
||||||
gid = getgid (); egid = getegid ();
|
gid = getgid (); egid = getegid ();
|
||||||
|
|
||||||
|
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
|
||||||
|
|
||||||
if (uname (&uts) < 0) _exit (1);
|
if (uname (&uts) < 0) _exit (1);
|
||||||
|
|
||||||
#ifdef _AIX
|
#ifdef _AIX
|
||||||
@@ -74,10 +77,14 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
glibtop_init_p (glibtop_global_server, 0, 0);
|
glibtop_init_p (glibtop_global_server, 0, 0);
|
||||||
|
|
||||||
|
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
|
||||||
|
|
||||||
if (setreuid (euid, uid)) _exit (1);
|
if (setreuid (euid, uid)) _exit (1);
|
||||||
|
|
||||||
if (setregid (egid, gid)) _exit (1);
|
if (setregid (egid, gid)) _exit (1);
|
||||||
|
|
||||||
|
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
|
||||||
|
|
||||||
/* !!! END OF SUID ROOT PART !!! */
|
/* !!! END OF SUID ROOT PART !!! */
|
||||||
|
|
||||||
handle_slave_connection (0, 0);
|
handle_slave_connection (0, 0);
|
||||||
|
@@ -71,12 +71,16 @@ glibtop_open_p (glibtop *server, const char *program_name,
|
|||||||
|
|
||||||
/* Drop priviledges. */
|
/* Drop priviledges. */
|
||||||
|
|
||||||
|
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
|
||||||
|
|
||||||
if (setreuid (server->machine.euid, server->machine.uid))
|
if (setreuid (server->machine.euid, server->machine.uid))
|
||||||
_exit (1);
|
_exit (1);
|
||||||
|
|
||||||
if (setregid (server->machine.egid, server->machine.gid))
|
if (setregid (server->machine.egid, server->machine.gid))
|
||||||
_exit (1);
|
_exit (1);
|
||||||
|
|
||||||
|
glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
|
||||||
|
|
||||||
/* !!! END OF SUID ROOT PART !!! */
|
/* !!! END OF SUID ROOT PART !!! */
|
||||||
|
|
||||||
/* Our effective uid is now those of the user invoking the server,
|
/* Our effective uid is now those of the user invoking the server,
|
||||||
|
Reference in New Issue
Block a user