packages: nagios-plugin-check_raid/check_raid - sudo update could be optional

glen glen at pld-linux.org
Thu Sep 10 09:50:15 CEST 2009


Author: glen                         Date: Thu Sep 10 07:50:15 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- sudo update could be optional

---- Files affected:
packages/nagios-plugin-check_raid:
   check_raid (1.25 -> 1.26) 

---- Diffs:

================================================================
Index: packages/nagios-plugin-check_raid/check_raid
diff -u packages/nagios-plugin-check_raid/check_raid:1.25 packages/nagios-plugin-check_raid/check_raid:1.26
--- packages/nagios-plugin-check_raid/check_raid:1.25	Thu Sep 10 09:44:45 2009
+++ packages/nagios-plugin-check_raid/check_raid	Thu Sep 10 09:50:10 2009
@@ -358,6 +358,22 @@
 
 ###########################################################################
 sub sudoers {
+	# build values to be added
+	my @sudo;
+    push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $ipssend getconfig 1 LD\n") if $ipssend;
+    push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $aaccli container list /full\n") if $aaccli;
+    push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $mpt_status\n") if $mpt_status and -d "/proc/mpt";
+	push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $cat /proc/megaide/0/status\n") if -d "/proc/megaide/0";
+	push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $cat /proc/megaide/1/status\n") if -d "/proc/megaide/1";
+	foreach my $mr (glob('/proc/mega*/*/raiddrives*')) {
+		push(@sudo, "CHECK_RAID  ALL=(root) NOPASSWD: $cat $mr\n") if -d $mr;
+	}
+
+	unless (@sudo) {
+		print "Your configuration does not need to use sudo, sudoers not updated\n";
+		return;
+	}
+
 	my $sudoers = find_file('/usr/local/etc/sudoers', '/etc/sudoers');
 	my $visudo = find_prog('visudo');
 
@@ -387,16 +403,8 @@
 	print $fh "\n";
 	print $fh "# Lines matching CHECK_RAID added by $0 -S on ", scalar localtime, "\n";
 	print $fh "User_Alias CHECK_RAID=nagios\n";
+	print $fh @sudo;
 
-	# append new values
-    print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $ipssend getconfig 1 LD\n" if $ipssend;
-    print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $aaccli container list /full\n" if $aaccli;
-    print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $mpt_status\n" if $mpt_status and -d "/proc/mpt";
-	print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $cat /proc/megaide/0/status\n" if -d "/proc/megaide/0";
-	print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $cat /proc/megaide/1/status\n" if -d "/proc/megaide/1";
-	foreach my $mr (glob('/proc/mega*/*/raiddrives*')) {
-		print $fh "CHECK_RAID  ALL=(root) NOPASSWD: $cat $mr\n" if -d $mr;
-	}
 	close $fh;
 
 	# validate sudoers
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-plugin-check_raid/check_raid?r1=1.25&r2=1.26&f=u



More information about the pld-cvs-commit mailing list