Nagios-新用户未获得启用的权限

Nagios-新用户未获得启用的权限

我遵循来自网络指南的简单步骤:

a)通过命令向 Nagios 添加用户htpasswd htpasswd.users username

b)在 cgi.cfg 文件中将此用户添加到以下行:

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) 重启nagios3服务,甚至重启apache2服务

但是当我尝试从 nagios 网络界面列出任何内容时,它仍然会给我这个烦人的消息:

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.

请问可能哪里出了问题?

答案1

查看 Nagios 常见问题解答无权查看配置,其中写道:

描述:如果您单击“查看配置”并得到:“”“似乎您没有权限查看您请求的配置信息...如果您认为这是一个错误,请检查访问此 CGI 的 HTTP 服务器身份验证要求,并检查 CGI 配置文件中的授权选项。””

解决方案:您需要在 cgi.cfg 中设置“authorized_for_configuration_information”

在我的 EL6 系统上,默认情况下,“authorized_for_configuration_information”设置为“nagiosadmin”。许多网站将其设置为authorized_for_configuration_information=*,这解决了您的问题。

另外,请确保您正确使用了 HTTP 身份验证。请参阅http://nagios.sourceforge.net/docs/3_0/cgiauth.html

在 CGI 中启用身份验证/授权功能

接下来需要做的是确保 CGI 配置为使用身份验证和授权功能来确定用户可以访问哪些信息和/或命令。这可以通过将 CGI 配置文件中的 use_authentication 变量设置为非零值来完成。示例:

使用身份验证=1

答案2

编辑 /usr/local/nagios/etc/cgi.cfg

添加用户名,不带任何空格,像这样

authorized_for_system_information=nagiosadmin,username,username2

保存文件并使用 service nagios restart 重新启动 nagios 服务

答案3

  1. 在终端:

    sudo htpasswd -c /etc/nagios/htpasswd.users new_user
        # set password for user "new_user"
    
  2. 在终端:

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

    (在 cgi.cfg 文件中,查找此部分):

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

    (在行末添加用户“new_user”):

    authorized_for_all_services=nagiosadmin,new_user
    authorized_for_all_hosts=nagiosadmin,new_user
    

    (保存并退出nano)

  3. 重启nagios服务:

    sudo systemctl restart nagios.service
    

现在您可以使用“new_user”访问网页并监控所有对象。

答案4

我也遇到过同样的问题,并且解决了运行命令

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

相关内容