From: opensides Date: Fri, 2 Nov 2007 12:09:56 +0000 (+0000) Subject: Added some more info to README.nagios X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d65ed68f1e61f8b23700e38f093d052c236f2f47;p=gosa.git Added some more info to README.nagios Renamed goNagios.pl git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.5@7715 594d385d-05f5-0310-b6e9-bd551577e9d8 --- diff --git a/contrib/scripts/goNagios.pl b/contrib/scripts/goNagios.pl deleted file mode 100755 index 09a2503c2..000000000 --- a/contrib/scripts/goNagios.pl +++ /dev/null @@ -1,360 +0,0 @@ -#!/usr/bin/perl -w - - -# Copyright (C) 2005 Guillaume Delecourt -# Copyright (C) 2005 Vincent Senave -# Copyright (C) 2007 Benoit Mortier -# -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# - -use Net::LDAP; -use MIME::Lite; -use Sys::Syslog; -use Switch; -use strict; - -# Default config variables - -my $nb_user=0; -my $nb_group=0; - -my ($i,$file,$ldap, $line,$text,$mesg,$entry,$msg,$stdout,$members,$j,@entries, - @groupname,@groupmembers,@contactlias,@nagiosmail, - @groupdescription,@servicenotificationoptions,@servicenotificationperiod, - @hostnotificationoptions,@hostnotificationperiod,@contactname,@nagiosalias, - @authorizedsysteminformation,@authorizedconfigurationinformation, - @authorizedsystemcommands,@authorizedallservices, - @authorizedallhosts,@authorizedallservicecommands, - @authorizedallhostcommands -); - -my $error_open = "Problem opening file "; - -# Where are the config stored -my $gosa_bind_conf="ldap2nagios_bind.conf"; -my $gosa_ldap_conf="ldap2nagios.conf"; - -# Read the config files -my %config_bind = &read_conf($gosa_bind_conf); -my %config = &read_conf($gosa_ldap_conf); - -# Parameters in ldap2nagios.conf -my $peopleou=$config{peopleou}; -my $groupeou=$config{groupeou}; -my $base=$config{base}; -my $scope=$config{scope};# par defaut -my $server=$config{server}; -my $logs=$config{logs}; -my $logfile=$config{logfile}; -my $email=$config{email}; -my $email_from=$config{email_from}; -my $nagiosadmin=$config{nagiosadmin}; -my $cgi_file=$config{cgi_file}; -my $contacts_file=$config{contacts_file}; -my $contacts_groups_file=$config{contacts_groups_file}; - -# Parameters in ldap2nagios_bind.conf -my $admin=$config_bind{masterDN}; -my $password=$config_bind{masterPw}; - -my $usersysteminformation = $nagiosadmin.","; -my $userconfigurationinformation = $nagiosadmin.","; -my $usersystemcommands = $nagiosadmin.","; -my $userallservices = $nagiosadmin.","; -my $userallhosts = $nagiosadmin.","; -my $userallhostscommands = $nagiosadmin.","; -my $userallservicescommands = $nagiosadmin.","; - - $ldap = Net::LDAP->new($server); - $mesg = $ldap->bind($admin,password=>$password) or syslog('error',$mesg->err) && print $mesg->code && die $mesg->error; - - #Searching the objectClass nagiosContact - $mesg = $ldap->search(filter=>"(&(objectClass~=nagiosContact))", base=>$peopleou,scope=>$scope); - @entries = $mesg->entries; - $i=0; - foreach $entry (@entries) { - $contactname[$i]=$entry->get_value('uid'); - $nagiosmail[$i]=$entry->get_value('NagiosMail'); - $nagiosalias[$i]=$entry->get_value('NagiosAlias'); - $hostnotificationperiod[$i]=$entry->get_value('HostNotificationPeriod'); - $servicenotificationperiod[$i]=$entry->get_value('ServiceNotificationPeriod'); - $hostnotificationoptions[$i]=$entry->get_value('HostNotificationOptions'); - $servicenotificationoptions[$i]=$entry->get_value('ServiceNotificationOptions'); - $authorizedsysteminformation[$i]=$entry->get_value('AuthorizedSystemInformation'); - $authorizedconfigurationinformation[$i]=$entry->get_value('AuthorizedConfigurationInformation'); - $authorizedsystemcommands[$i]=$entry->get_value('AuthorizedSystemCommands'); - $authorizedallservices[$i]=$entry->get_value('AuthorizedAllServices'); - $authorizedallhosts[$i]=$entry->get_value('AuthorizedAllHosts'); - $authorizedallservicecommands[$i]=$entry->get_value('AuthorizedAllServiceCommands'); - $authorizedallhostcommands[$i]=$entry->get_value('AuthorizedAllHostCommands'); - - if($authorizedsysteminformation[$i] eq "checked") - {$usersysteminformation.= $contactname[$i]}; - - if($authorizedconfigurationinformation[$i] eq "checked") - {$userconfigurationinformation.= $contactname[$i]}; - - if($authorizedsystemcommands[$i] eq "checked") - {$usersystemcommands.= $contactname[$i]}; - - if($authorizedallservices[$i] eq "checked") - {$userallservices.= $contactname[$i]}; - - if($authorizedallhosts[$i] eq "checked") - {$userallhosts.= $contactname[$i]}; - - if($authorizedallservicecommands[$i] eq "checked") - {$userallservicescommands.= $contactname[$i]}; - - if($authorizedallhostcommands[$i] eq "checked") - {$userallhostscommands.= $contactname[$i]}; - - $i++; - } - $nb_user=$i; - - #Searching the objectClass nagiosContactGroup - $mesg = $ldap->search(filter=>"(&(objectClass~=nagiosContactGroup))", base=>$groupeou,scope=>$scope); - @entries = $mesg->entries; - $i=0; - foreach $entry (@entries) { - $groupname[$i]=$entry->get_value('cn'); - - $groupdescription[$i]=$entry->get_value('description'); - - if(!$groupdescription[$i]){$groupdescription[$i]=$groupname[$i]}; - - $j=0; - - foreach $members($entry->get_value('memberUid')) { - $groupmembers[$i][$j]=$members; - $j++; - } - $i++; - } - $nb_group=$i; - - &modiffile_cgi($cgi_file); - &modiffile_contact($contacts_file); - &modiffile_group($contacts_groups_file); - - $ldap->unbind; - switch($logs) - { - case "mail" {&mail()} - case "log" {&writelog()} - case "terminal" {&write_stdout()} - - } - exit(0); - -sub modiffile_contact() -{ - $file=$_[0]; - my $text=""; - open(FH,"$file") || die "$error_open $file"; - - for($i=0;$i<$nb_user;$i++) - { - $text.="\n\ndefine contact{\n"; - $text.="\n\tcontact_name \t\t\t".$contactname[$i]; - $text.="\n\talias \t\t\t\t".$nagiosalias[$i]; - $text.="\n\thost_notification_period \t".$hostnotificationperiod[$i]; - $text.="\n\thost_notification_options \t".$hostnotificationoptions[$i]; - $text.="\n\tservice_notification_period \t".$servicenotificationperiod[$i]; - $text.="\n\tservice_notification_options \t".$servicenotificationoptions[$i]; - $text.="\n\temail \t\t\t\t".$nagiosmail[$i]; - $text.="\n}\n\n"; - } - close(FH); - open(FH,"> $file") || die "$error_open $file"; - print FH "$text"; - close(FH); - -} - -sub modiffile_group() -{ - $file=$_[0]; - $text=""; - $j=0; - $i=0; - open(FH,"$file") || die "$error_open $file"; - - for($i=0;$i<$nb_group;$i++) - { - $text.="\n\ndefine contactgroup{\n"; - $text.="\n\tcontactgroup_name \t".$groupname[$i]; - $text.="\n\talias \t\t\t".$groupdescription[$i]; - $text.="\n\tmembers \t\t"; - while(defined($groupmembers[$i][$j])) - { - $text.=$groupmembers[$i][$j]." "; - $j++; - } - $text.="\n}\n\n"; - } - - close(FH); - open(FH,"> $file") || die "$error_open $file"; - print FH "$text"; - close(FH); - -} - -sub modiffile_cgi() -{ - $file=$_[0]; - $text=""; - open(FH,"$file") || die "$error_open $file"; - while() - { - $line=$_; - if($line =~ /^authorized_for_system_information=*/i){$text.="authorized_for_system_information=".$usersysteminformation} - elsif($line =~ /^authorized_for_configuration_information=*/i){$text.="authorized_for_configuration_information=".$userconfigurationinformation} - elsif($line =~ /^authorized_for_system_commands=*/i){$text.="authorized_for_system_commands=".$usersystemcommands} - elsif($line =~ /^authorized_for_all_services=*/i){$text.="authorized_for_all_services=".$userallservices."\n"} - elsif($line =~ /^authorized_for_all_hosts=*/i){$text.="authorized_for_all_hosts=".$userallhosts."\n"} - elsif($line =~ /^authorized_for_all_service_commands=*/i){$text.="authorized_for_all_host_commands=".$userallhostscommands."\n"} - elsif($line =~ /^authorized_for_all_host_commands=*/i){$text.="authorized_for_all_service_commands=".$userallservicescommands."\n"} - else {$text.=$line}; - } - close(FH); - open(FH,"> $file") || die "$error_open $file"; - print FH "$text"; - close(FH); - -} - -sub read_conf() -{ - my %conf; - open (CONFIGFILE, "$_[0]") || die "Unable to open $_[0] for reading !\n"; - while () { - chomp($_); - ## throw away comments - next if ( /^\s*#/ || /^\s*$/ || /^\s*\;/); - ## check for a param = value - my ($parameter,$value)=read_parameter($_); - $value = &subst_configvar($value,\%conf); - $conf{$parameter}=$value; - } - close (CONFIGFILE); - return(%conf); -} - - -sub read_parameter -{ - my $line=shift; - ## check for a param = value - if ($_=~/=/) { - my ($param,$val); - if ($_=~/"/) { - #my ($param,$val) = ($_=~/(.*)\s*=\s*"(.*)"/); - ($param,$val) = /\s*(.*?)\s*=\s*"(.*)"/; - } elsif ($_=~/'/) { - ($param,$val) = /\s*(.*?)\s*=\s*'(.*)'/; - } else { - ($param,$val) = /\s*(.*?)\s*=\s*(.*)/; - } - return ($param,$val); - } -} - - -sub subst_configvar -{ - my $value = shift; - my $vars = shift; - - $value =~ s/\$\{([^}]+)\}/$vars->{$1} ? $vars->{$1} : $1/eg; - return $value; -} - - -sub mail -{ - -if($email eq ""){$email="root"} - -$msg = MIME::Lite->new( - From => $config{email_from}, - To => $config{email}, - Subject => "Ldap2nagios Gosa plugin", - Data => $stdout - ); - - -$msg->send; -} - - -sub writelog -{ - open(F, "> $logfile"); - print F $stdout; - close(F); -} - -sub write_stdout -{ - $j=0; - - $stdout.="\n\nSearch for Nagios attribute in user and group list\n"; - $stdout.="-"x55;$stdout.="\n"; - - for($i=0;$i<$nb_user;$i++) { - $stdout.="\nContact $i : \n\tName\t\t\t $contactname[$i]"; - $stdout.="\n\n\tmail:\t\t\t\t $nagiosmail[$i]"; - $stdout.="\n\talias:\t\t\t\t $nagiosalias[$i]"; - $stdout.="\n\tHostNotificationPeriod:\t\t $hostnotificationperiod[$i]"; - $stdout.="\n\tServiceNotificationPeriod:\t $servicenotificationperiod[$i]"; - $stdout.="\n\tHostNotificationOptions:\t $hostnotificationoptions[$i]"; - $stdout.="\n\tServiceNotificationOptions:\t $servicenotificationoptions[$i]"; - $stdout.="\n"." "x15;$stdout.="-"x20;$stdout.=" "x 15; - } - - for($i=0;$i<$nb_group;$i++) { - $stdout.="\nGroupe $i : \n\tName\t\t $groupname[$i]"; - $stdout.="\n\talias \t\t $groupdescription[$i]"; - $stdout.="\n\tmembers \t"; - while(defined($groupmembers[$i][$j])) - { - $stdout.=$groupmembers[$i][$j]. " "; - $j++; - } - } - - $stdout.="\n\n\n\n\nAuthorization for the various Informations in Nagios\n"."-" x 53;$stdout.="\n"; - - $stdout.="\nSystem infos :\t\t $usersysteminformation"; - $stdout.="\nConfiguration infos :\t $userconfigurationinformation"; - $stdout.="\nSystem commands : \t $usersystemcommands"; - $stdout.="\nAll services :\t\t $userallservices"; - $stdout.="\nAll hosts :\t\t $userallhosts"; - $stdout.="\nAll services commands :\t $userallservices"; - $stdout.="\nAll host commands :\t $userallservicescommands"; - - $stdout.="\n\n"; $stdout.=" "x10;$stdout.="-"x25;$stdout.=" "x10; - $stdout.="\n$nb_user user(s) added in the file $file\n"; - $stdout.="\n$nb_group group(s) added in the file $file\n"; - - print $stdout; - -} diff --git a/contrib/scripts/goNagiosUser.pl b/contrib/scripts/goNagiosUser.pl new file mode 100755 index 000000000..09a2503c2 --- /dev/null +++ b/contrib/scripts/goNagiosUser.pl @@ -0,0 +1,360 @@ +#!/usr/bin/perl -w + + +# Copyright (C) 2005 Guillaume Delecourt +# Copyright (C) 2005 Vincent Senave +# Copyright (C) 2007 Benoit Mortier +# +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# + +use Net::LDAP; +use MIME::Lite; +use Sys::Syslog; +use Switch; +use strict; + +# Default config variables + +my $nb_user=0; +my $nb_group=0; + +my ($i,$file,$ldap, $line,$text,$mesg,$entry,$msg,$stdout,$members,$j,@entries, + @groupname,@groupmembers,@contactlias,@nagiosmail, + @groupdescription,@servicenotificationoptions,@servicenotificationperiod, + @hostnotificationoptions,@hostnotificationperiod,@contactname,@nagiosalias, + @authorizedsysteminformation,@authorizedconfigurationinformation, + @authorizedsystemcommands,@authorizedallservices, + @authorizedallhosts,@authorizedallservicecommands, + @authorizedallhostcommands +); + +my $error_open = "Problem opening file "; + +# Where are the config stored +my $gosa_bind_conf="ldap2nagios_bind.conf"; +my $gosa_ldap_conf="ldap2nagios.conf"; + +# Read the config files +my %config_bind = &read_conf($gosa_bind_conf); +my %config = &read_conf($gosa_ldap_conf); + +# Parameters in ldap2nagios.conf +my $peopleou=$config{peopleou}; +my $groupeou=$config{groupeou}; +my $base=$config{base}; +my $scope=$config{scope};# par defaut +my $server=$config{server}; +my $logs=$config{logs}; +my $logfile=$config{logfile}; +my $email=$config{email}; +my $email_from=$config{email_from}; +my $nagiosadmin=$config{nagiosadmin}; +my $cgi_file=$config{cgi_file}; +my $contacts_file=$config{contacts_file}; +my $contacts_groups_file=$config{contacts_groups_file}; + +# Parameters in ldap2nagios_bind.conf +my $admin=$config_bind{masterDN}; +my $password=$config_bind{masterPw}; + +my $usersysteminformation = $nagiosadmin.","; +my $userconfigurationinformation = $nagiosadmin.","; +my $usersystemcommands = $nagiosadmin.","; +my $userallservices = $nagiosadmin.","; +my $userallhosts = $nagiosadmin.","; +my $userallhostscommands = $nagiosadmin.","; +my $userallservicescommands = $nagiosadmin.","; + + $ldap = Net::LDAP->new($server); + $mesg = $ldap->bind($admin,password=>$password) or syslog('error',$mesg->err) && print $mesg->code && die $mesg->error; + + #Searching the objectClass nagiosContact + $mesg = $ldap->search(filter=>"(&(objectClass~=nagiosContact))", base=>$peopleou,scope=>$scope); + @entries = $mesg->entries; + $i=0; + foreach $entry (@entries) { + $contactname[$i]=$entry->get_value('uid'); + $nagiosmail[$i]=$entry->get_value('NagiosMail'); + $nagiosalias[$i]=$entry->get_value('NagiosAlias'); + $hostnotificationperiod[$i]=$entry->get_value('HostNotificationPeriod'); + $servicenotificationperiod[$i]=$entry->get_value('ServiceNotificationPeriod'); + $hostnotificationoptions[$i]=$entry->get_value('HostNotificationOptions'); + $servicenotificationoptions[$i]=$entry->get_value('ServiceNotificationOptions'); + $authorizedsysteminformation[$i]=$entry->get_value('AuthorizedSystemInformation'); + $authorizedconfigurationinformation[$i]=$entry->get_value('AuthorizedConfigurationInformation'); + $authorizedsystemcommands[$i]=$entry->get_value('AuthorizedSystemCommands'); + $authorizedallservices[$i]=$entry->get_value('AuthorizedAllServices'); + $authorizedallhosts[$i]=$entry->get_value('AuthorizedAllHosts'); + $authorizedallservicecommands[$i]=$entry->get_value('AuthorizedAllServiceCommands'); + $authorizedallhostcommands[$i]=$entry->get_value('AuthorizedAllHostCommands'); + + if($authorizedsysteminformation[$i] eq "checked") + {$usersysteminformation.= $contactname[$i]}; + + if($authorizedconfigurationinformation[$i] eq "checked") + {$userconfigurationinformation.= $contactname[$i]}; + + if($authorizedsystemcommands[$i] eq "checked") + {$usersystemcommands.= $contactname[$i]}; + + if($authorizedallservices[$i] eq "checked") + {$userallservices.= $contactname[$i]}; + + if($authorizedallhosts[$i] eq "checked") + {$userallhosts.= $contactname[$i]}; + + if($authorizedallservicecommands[$i] eq "checked") + {$userallservicescommands.= $contactname[$i]}; + + if($authorizedallhostcommands[$i] eq "checked") + {$userallhostscommands.= $contactname[$i]}; + + $i++; + } + $nb_user=$i; + + #Searching the objectClass nagiosContactGroup + $mesg = $ldap->search(filter=>"(&(objectClass~=nagiosContactGroup))", base=>$groupeou,scope=>$scope); + @entries = $mesg->entries; + $i=0; + foreach $entry (@entries) { + $groupname[$i]=$entry->get_value('cn'); + + $groupdescription[$i]=$entry->get_value('description'); + + if(!$groupdescription[$i]){$groupdescription[$i]=$groupname[$i]}; + + $j=0; + + foreach $members($entry->get_value('memberUid')) { + $groupmembers[$i][$j]=$members; + $j++; + } + $i++; + } + $nb_group=$i; + + &modiffile_cgi($cgi_file); + &modiffile_contact($contacts_file); + &modiffile_group($contacts_groups_file); + + $ldap->unbind; + switch($logs) + { + case "mail" {&mail()} + case "log" {&writelog()} + case "terminal" {&write_stdout()} + + } + exit(0); + +sub modiffile_contact() +{ + $file=$_[0]; + my $text=""; + open(FH,"$file") || die "$error_open $file"; + + for($i=0;$i<$nb_user;$i++) + { + $text.="\n\ndefine contact{\n"; + $text.="\n\tcontact_name \t\t\t".$contactname[$i]; + $text.="\n\talias \t\t\t\t".$nagiosalias[$i]; + $text.="\n\thost_notification_period \t".$hostnotificationperiod[$i]; + $text.="\n\thost_notification_options \t".$hostnotificationoptions[$i]; + $text.="\n\tservice_notification_period \t".$servicenotificationperiod[$i]; + $text.="\n\tservice_notification_options \t".$servicenotificationoptions[$i]; + $text.="\n\temail \t\t\t\t".$nagiosmail[$i]; + $text.="\n}\n\n"; + } + close(FH); + open(FH,"> $file") || die "$error_open $file"; + print FH "$text"; + close(FH); + +} + +sub modiffile_group() +{ + $file=$_[0]; + $text=""; + $j=0; + $i=0; + open(FH,"$file") || die "$error_open $file"; + + for($i=0;$i<$nb_group;$i++) + { + $text.="\n\ndefine contactgroup{\n"; + $text.="\n\tcontactgroup_name \t".$groupname[$i]; + $text.="\n\talias \t\t\t".$groupdescription[$i]; + $text.="\n\tmembers \t\t"; + while(defined($groupmembers[$i][$j])) + { + $text.=$groupmembers[$i][$j]." "; + $j++; + } + $text.="\n}\n\n"; + } + + close(FH); + open(FH,"> $file") || die "$error_open $file"; + print FH "$text"; + close(FH); + +} + +sub modiffile_cgi() +{ + $file=$_[0]; + $text=""; + open(FH,"$file") || die "$error_open $file"; + while() + { + $line=$_; + if($line =~ /^authorized_for_system_information=*/i){$text.="authorized_for_system_information=".$usersysteminformation} + elsif($line =~ /^authorized_for_configuration_information=*/i){$text.="authorized_for_configuration_information=".$userconfigurationinformation} + elsif($line =~ /^authorized_for_system_commands=*/i){$text.="authorized_for_system_commands=".$usersystemcommands} + elsif($line =~ /^authorized_for_all_services=*/i){$text.="authorized_for_all_services=".$userallservices."\n"} + elsif($line =~ /^authorized_for_all_hosts=*/i){$text.="authorized_for_all_hosts=".$userallhosts."\n"} + elsif($line =~ /^authorized_for_all_service_commands=*/i){$text.="authorized_for_all_host_commands=".$userallhostscommands."\n"} + elsif($line =~ /^authorized_for_all_host_commands=*/i){$text.="authorized_for_all_service_commands=".$userallservicescommands."\n"} + else {$text.=$line}; + } + close(FH); + open(FH,"> $file") || die "$error_open $file"; + print FH "$text"; + close(FH); + +} + +sub read_conf() +{ + my %conf; + open (CONFIGFILE, "$_[0]") || die "Unable to open $_[0] for reading !\n"; + while () { + chomp($_); + ## throw away comments + next if ( /^\s*#/ || /^\s*$/ || /^\s*\;/); + ## check for a param = value + my ($parameter,$value)=read_parameter($_); + $value = &subst_configvar($value,\%conf); + $conf{$parameter}=$value; + } + close (CONFIGFILE); + return(%conf); +} + + +sub read_parameter +{ + my $line=shift; + ## check for a param = value + if ($_=~/=/) { + my ($param,$val); + if ($_=~/"/) { + #my ($param,$val) = ($_=~/(.*)\s*=\s*"(.*)"/); + ($param,$val) = /\s*(.*?)\s*=\s*"(.*)"/; + } elsif ($_=~/'/) { + ($param,$val) = /\s*(.*?)\s*=\s*'(.*)'/; + } else { + ($param,$val) = /\s*(.*?)\s*=\s*(.*)/; + } + return ($param,$val); + } +} + + +sub subst_configvar +{ + my $value = shift; + my $vars = shift; + + $value =~ s/\$\{([^}]+)\}/$vars->{$1} ? $vars->{$1} : $1/eg; + return $value; +} + + +sub mail +{ + +if($email eq ""){$email="root"} + +$msg = MIME::Lite->new( + From => $config{email_from}, + To => $config{email}, + Subject => "Ldap2nagios Gosa plugin", + Data => $stdout + ); + + +$msg->send; +} + + +sub writelog +{ + open(F, "> $logfile"); + print F $stdout; + close(F); +} + +sub write_stdout +{ + $j=0; + + $stdout.="\n\nSearch for Nagios attribute in user and group list\n"; + $stdout.="-"x55;$stdout.="\n"; + + for($i=0;$i<$nb_user;$i++) { + $stdout.="\nContact $i : \n\tName\t\t\t $contactname[$i]"; + $stdout.="\n\n\tmail:\t\t\t\t $nagiosmail[$i]"; + $stdout.="\n\talias:\t\t\t\t $nagiosalias[$i]"; + $stdout.="\n\tHostNotificationPeriod:\t\t $hostnotificationperiod[$i]"; + $stdout.="\n\tServiceNotificationPeriod:\t $servicenotificationperiod[$i]"; + $stdout.="\n\tHostNotificationOptions:\t $hostnotificationoptions[$i]"; + $stdout.="\n\tServiceNotificationOptions:\t $servicenotificationoptions[$i]"; + $stdout.="\n"." "x15;$stdout.="-"x20;$stdout.=" "x 15; + } + + for($i=0;$i<$nb_group;$i++) { + $stdout.="\nGroupe $i : \n\tName\t\t $groupname[$i]"; + $stdout.="\n\talias \t\t $groupdescription[$i]"; + $stdout.="\n\tmembers \t"; + while(defined($groupmembers[$i][$j])) + { + $stdout.=$groupmembers[$i][$j]. " "; + $j++; + } + } + + $stdout.="\n\n\n\n\nAuthorization for the various Informations in Nagios\n"."-" x 53;$stdout.="\n"; + + $stdout.="\nSystem infos :\t\t $usersysteminformation"; + $stdout.="\nConfiguration infos :\t $userconfigurationinformation"; + $stdout.="\nSystem commands : \t $usersystemcommands"; + $stdout.="\nAll services :\t\t $userallservices"; + $stdout.="\nAll hosts :\t\t $userallhosts"; + $stdout.="\nAll services commands :\t $userallservices"; + $stdout.="\nAll host commands :\t $userallservicescommands"; + + $stdout.="\n\n"; $stdout.=" "x10;$stdout.="-"x25;$stdout.=" "x10; + $stdout.="\n$nb_user user(s) added in the file $file\n"; + $stdout.="\n$nb_group group(s) added in the file $file\n"; + + print $stdout; + +}