Nagios - Neuer Benutzer erhält keine aktivierten Berechtigungen

10

Ich folge einfachen Schritten von Anleitungen im gesamten Web:

a) Fügen Sie einen Benutzer per Befehl zu Nagios hinzu htpasswd htpasswd.users username

b) Fügen Sie in der Datei cgi.cfg diesen Benutzer zu den folgenden Zeilen hinzu:

authorized_for_system_information=nagiosadmin, username
authorized_for_configuration_information=nagiosadmin, username
authorized_for_system_commands=nagiosadmin, username
authorized_for_all_services=nagiosadmin, username
authorized_for_all_hosts=nagiosadmin, username
authorized_for_all_service_commands=nagiosadmin, username
authorized_for_all_host_commands=nagiosadmin, username

c) Starten Sie den Nagios3-Dienst neu, und starten Sie sogar den Apache2-Dienst neu

aber wenn ich versuche, irgendetwas von der Nagios-Weboberfläche aufzulisten, gibt es mir immer noch diese nervige Nachricht:

It appears as though you do not have permission to view information for any of the services you requested...
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file.

Wo könnte bitte ein Problem liegen?

Jakub Turcovsky
quelle
1
Nur zum Vergnügen können Sie die Leerzeichen aus den authorized_forZeilen entfernen, z authorized_for_all_hosts=nagiosadmin,username. Ich bezweifle, dass dies das Problem ist, aber alle meine funktionierenden NAGIOS-Konfigurationen sind platzfrei.
MadHatter

Antworten:

8

Lesen Sie die Nagios-FAQ unter Keine Berechtigung zum Anzeigen der Konfiguration . Dort heißt es:

Beschreibung: Wenn Sie auf "Konfiguration anzeigen" klicken und Folgendes erhalten: "" Es scheint, als hätten Sie keine Berechtigung zum Anzeigen der angeforderten Konfigurationsinformationen ... Wenn Sie glauben, dass dies ein Fehler ist, überprüfen Sie die Authentifizierungsanforderungen für den HTTP-Server für den Zugriff auf dieses CGI und überprüfen Sie die Autorisierungsoptionen in Ihrer CGI-Konfigurationsdatei. "" "

Lösung: Sie müssen in cgi.cfg "autorisierte_für_Konfigurationsinformationen" festlegen

Standardmäßig ist auf meinem EL6-System "autorisierte_für_Konfigurationsinformationen" auf "Nagiosadmin" eingestellt. Viele Websites legen dies fest authorized_for_configuration_information=*, wodurch Ihr Problem behoben wird.

Stellen Sie außerdem sicher, dass Sie die HTTP-Authentifizierung korrekt verwenden. Siehe http://nagios.sourceforge.net/docs/3_0/cgiauth.html

Aktivieren der Authentifizierungs- / Autorisierungsfunktion in den CGIs

Als Nächstes müssen Sie sicherstellen, dass die CGIs so konfiguriert sind, dass sie die Authentifizierungs- und Autorisierungsfunktionen verwenden, um zu bestimmen, auf welche Informationen und / oder Befehle Benutzer Zugriff haben. Dazu setzen Sie die Variable use_authentication in der CGI-Konfigurationsdatei auf einen Wert ungleich Null. Beispiel:

use_authentication = 1

Stefan Lasiewski
quelle
5

Bearbeiten Sie /usr/local/nagios/etc/cgi.cfg

Fügen Sie einen Benutzernamen hinzu, ohne ein Leerzeichen wie dieses

authorized_for_system_information=nagiosadmin,username,username2

Speichern Sie die Datei und starten Sie den Nagios-Dienst mit dem Neustart des Dienstes Nagios neu

Detektiv
quelle
Danke für den Tipp. auch wichtig, dass keine Leerzeichen nach den Kommas, die mich erwischt haben
Derek Knight
2
  1. Im Terminal:

    sudo htpasswd -c /etc/nagios/htpasswd.users new_user
        # set password for user "new_user"
    
  2. Im Terminal:

    nano /usr/local/nagios/etc/cgi.cfg
    

    (Suchen Sie in der Datei cgi.cfg nach diesem Abschnitt):

    # GLOBAL HOST/SERVICE VIEW ACCESS
    # These two options are comma-delimited lists of all usernames that
    # can view information for all hosts and services that are being
    # monitored.  By default, users can only view information
    # for hosts or services that they are contacts for (unless you
    # you choose to not use authorization). You may use an asterisk (*)
    # to authorize any user who has authenticated to the web server.
    

    (Fügen Sie am Ende der Zeile den Benutzer "new_user" hinzu):

    authorized_for_all_services=nagiosadmin,new_user
    authorized_for_all_hosts=nagiosadmin,new_user
    

    (Speichern und Beenden von Nano)

  3. Starten Sie den Nagios-Dienst neu:

    sudo systemctl restart nagios.service
    

Jetzt können Sie mit "new_user" auf die Webseite zugreifen und alle Objekte überwachen.

Erick Rodriguez
quelle
0

Ich habe auch das gleiche Problem und ich habe den laufenden Befehl gelöst

sudo htpasswd -b -c /usr/local/nagios/etc/htpasswd.users nagiosadmin nagiosadmin
Milind
quelle
0

Stellen Sie sicher, dass in der Zeile cgi.cfg im Ordner nagios die folgende Zeile angegeben ist

autorisiert_für_all_services = nagiosadmin, noc autorisiert_für_all_hosts = nagiosadmin, noc

TDS
quelle