aboutsummaryrefslogtreecommitdiff
path: root/lib/utils_base.c
diff options
context:
space:
mode:
authorGravatar M. Sean Finney <seanius@users.sourceforge.net> 2007-05-27 13:46:32 +0000
committerGravatar M. Sean Finney <seanius@users.sourceforge.net> 2007-05-27 13:46:32 +0000
commitbf9f0e9f8901f0e9e960e367941d2ab53435f641 (patch)
treecf1940e4cd3bf23b5348eaec9c4bedfed335f38e /lib/utils_base.c
parent3f5fbd9797feffe31cc7046d2abd0ef819a703e8 (diff)
downloadmonitoring-plugins-bf9f0e9f8901f0e9e960e367941d2ab53435f641.tar.gz
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
Diffstat (limited to 'lib/utils_base.c')
-rw-r--r--lib/utils_base.c15
1 files changed, 15 insertions, 0 deletions
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;
+}