Nagios - le nouvel utilisateur ne reçoit pas les autorisations activées

10

Je suis des étapes simples de guides partout sur le web:

a) ajouter un utilisateur à Nagios via la commande htpasswd htpasswd.users username

b) dans le fichier cgi.cfg ajoutez cet utilisateur aux lignes:

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) redémarrer le service nagios3, même redémarrer le service apache2

mais quand j'essaie de lister quoi que ce soit à partir de l'interface Web nagios, cela me donne toujours ce message ennuyeux:

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.

Où pourrait être un problème s'il vous plaît?

Jakub Turcovsky
la source
1
Juste pour le plaisir, pouvez-vous retirer les espaces des authorized_forlignes, par exemple authorized_for_all_hosts=nagiosadmin,username. Je doute que ce soit le problème, mais toutes mes configurations de NAGIOS fonctionnent sans espace.
MadHatter

Réponses:

8

Consultez la FAQ Nagios sur Aucune autorisation pour afficher la configuration , qui dit:

Description: Si vous cliquez sur "Afficher la configuration" et que vous obtenez: "" "Il semble que vous n'ayez pas l'autorisation d'afficher les informations de configuration que vous avez demandées ... Si vous pensez que c'est une erreur, vérifiez les exigences d'authentification du serveur HTTP pour accéder à ce CGI et vérifier les options d'autorisation dans votre fichier de configuration CGI. "" "

Lösung: Vous devez placer «authorisé pour l'information de configuration» dans cgi.cfg

Par défaut sur mon système EL6, 'authorised_for_configuration_information' est réglé sur 'nagiosadmin'. De nombreux sites le définissent, ce authorized_for_configuration_information=*qui résout votre problème.

Assurez-vous également que vous utilisez correctement l'authentification HTTP. Voir http://nagios.sourceforge.net/docs/3_0/cgiauth.html

Activation de la fonctionnalité d'authentification / autorisation dans les CGI

La prochaine chose que vous devez faire est de vous assurer que les CGI sont configurés pour utiliser la fonctionnalité d'authentification et d'autorisation pour déterminer à quelles informations et / ou commandes les utilisateurs ont accès. Cela se fait en définissant la variable use_authentication dans le fichier de configuration CGI sur une valeur non nulle. Exemple:

use_authentication = 1

Stefan Lasiewski
la source
5

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

ajouter un nom d'utilisateur, sans espace comme celui-ci

authorized_for_system_information=nagiosadmin,username,username2

enregistrer le fichier et redémarrer le service nagios à l'aide du service nagios restart

Détective
la source
Merci pour le conseil. également important qu'aucun espace après les virgules, qui m'a rattrapé
Derek Knight
2
  1. Dans le terminal:

    sudo htpasswd -c /etc/nagios/htpasswd.users new_user
        # set password for user "new_user"
    
  2. Dans le terminal:

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

    (dans le fichier cgi.cfg, recherchez cette section):

    # 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.
    

    (à la fin de la ligne, ajoutez l'utilisateur "new_user"):

    authorized_for_all_services=nagiosadmin,new_user
    authorized_for_all_hosts=nagiosadmin,new_user
    

    (enregistrer et quitter nano)

  3. Redémarrez le service nagios:

    sudo systemctl restart nagios.service
    

Vous pouvez maintenant accéder à la page Web avec "new_user" et surveiller tous les objets.

Erick Rodriguez
la source
0

J'ai également rencontré le même problème et j'ai résolu l'exécution de la commande

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

assurez-vous que la ligne ci-dessous dans cgi.cfg dans le dossier nagios

authorized_for_all_services = nagiosadmin, noc authorized_for_all_hosts = nagiosadmin, noc

TDS
la source