Ich habe Nagios erfolgreich installiert und es bietet Authentifizierung über Apache2, das zur Authentifizierung der Benutzer Kontakt zu einem Kerberos-Authentifizierungsserver aufnimmt.
Jetzt sind die Benutzer authentifiziert, verfügen jedoch über keinerlei Autorisierung, da die Autorisierung aktiviert ist cgi.cfg
und ich weder alle meine Benutzer einzeln manuell konfigurieren noch jedem authentifizierten Benutzer alle Rechte erteilen möchte.
Ich möchte wissen, ob Gruppen auf Dateibasis cgi.cfg
(wie etwa nagios_reader mit dem Recht, den Status der Weboberfläche, des Hosts und der Dienste anzuzeigen, und nagios_writer mit der Möglichkeit, externe Befehle auszuführen) statt auf Benutzerbasis festgelegt werden können und ob diese Gruppen aus LDAP extrahiert werden können.
Antwort1
Ich würde gerne wissen, ob Gruppen in der Datei cgi.cfg festgelegt werden können
Ich fürchte, die Antwort ist nein. Nagios hat diese Funktion bisher nicht unterstützt. Der Wert vonauthorized_
Optionen müssen eine durch Kommas getrennte Liste von Namen authentifizierter Benutzer sein. Aber wenn, wie Sie sagten,„Diese Gruppen können aus einem LDAP extrahiert werden“, sodass Sie alle Mitglieder mit einem kleinen Shell-Skript zu einer Gruppe hinzufügen können.
Nagios hat dieauthorized_for_read_only
Option zum Konfigurieren einer Liste von Benutzernamen, die in den CGIs nur Leserechte haben. Vorausgesetzt, die Liste nagios_reader.ldif
enthält:
# nagios_reader, it, domain.com
dn: cn=nagios_reader,ou=it,dc=domain,dc=com
cn: nagios_reader
member: cn=foo,ou=it,dc=domain,dc=com
member: cn=bar,ou=it,dc=domain,dc=com
objectClass: groupOfNames
objectClass: top
Sie können alle Mitglieder dieser Gruppe als Variablenwert konfigurieren, authorized_for_read_only
indem Sie Folgendes verwenden:
$ ldapsearch -x -W -D "cn=manager,dc=domain,dc=com" "cn=nagios_reader" | \
awk -F"=|," '/member: / { print $2 }' | \
while read u; do sed -i "/^authorized_for_read_only/s/$/,$u/" cgi.cfg; done