From bf9f0e9f8901f0e9e960e367941d2ab53435f641 Mon Sep 17 00:00:00 2001 From: "M. Sean Finney" Date: Sun, 27 May 2007 13:46:32 +0000 Subject: added functions to utils_base: np_check_if_root() - returns nonzero if geteuid()==0 np_warn_if_not_root() - uses the above to print an informative warning added uses of these functions to check_dhcp and check_icmp. git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1718 f882894a-f735-0410-b71e-b25c423dba1c --- lib/utils_base.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/utils_base.c') diff --git a/lib/utils_base.c b/lib/utils_base.c index db21ea15..da281286 100644 --- a/lib/utils_base.c +++ b/lib/utils_base.c @@ -228,3 +228,18 @@ char *np_escaped_string (const char *string) { data[j] = '\0'; return data; } + +int np_check_if_root(void) { return (geteuid() == 0); } + +int np_warn_if_not_root(void) { + int status = np_check_if_root(); + if(!status) { + printf(_("Warning: ")); + printf(_("This plugin must be either run as root or setuid root.\n")); + printf(_("To run as root, you can use a tool like sudo.\n")); + printf(_("To set the setuid permissions, use the command:\n")); + // XXX could we use something like progname? + printf("\tchmod u+s yourpluginfile\n"); + } + return status; +} -- cgit v1.2.3-74-g34f1