我已经在 18.04 上运行了 Nagios - 按照所有帮助文章和 Nagios 本身(“标准”)的建议从源代码进行安装(https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/quickstart-ubuntu.html)。
我正在安装新的 20.04 服务器。我注意到nagios4
它以软件包形式通过apt
(4.3.4) 提供,因此决定尝试一下。
它与“标准”包有一些不同,包括目录位置(/etc/nagios4
),但除了授权之外,我让它工作正常。“标准”文档说要使用,htpasswd
但在 Apache 配置中apt
设置为使用htdigest
。Nagios“服务”HTML 页面显示我的主机,但 HTTP、SSH 通知已关闭。如果我尝试启用它们,我会得到
Sorry Dave, I can't let you do that...
It seems that you have chosen to not use the authentication functionality of the CGIs...
我apache.conf
有:
Require all granted
#Require valid-user
这表明应该允许访问。但我还是切换了它们并重新启动了 Apache。
我现在basic auth
在该页面上看到一个对话框,完成后它可以让我运行启用命令,但随后我会收到消息Sorry Dave
。
在cgi.cfg
安装时,我安装了use_authentication=0
,注释中说它是“关闭的”,尽管它说默认值应该是非零的。1
但是,将其设置为 会停止访问“服务”页面:
It appears as though you do not have permission to view information for any of the services you requested...
如果您认为这是一个错误,请检查访问此 CGI 的 HTTP 服务器身份验证要求并检查 CGI 配置文件中的授权选项。
没有基本身份验证提示。
这个问题能解决吗?如果我们确实需要从源代码进行编译,那么如何才能将这个有问题的程序从软件包仓库中删除?
答案1
我已经能够按照/etc/apache2/conf-available/nagios4-cgi.conf
文件中给出的说明解决同样的问题,即将所有身份验证指令直接移动到该\<DirectoryMatch>...<\/DirectoryMatch>
部分下,只需注释 2<Files "cmd.cgi">
和<\/Files>
标签即可。
这样,每次访问 Nagios Web 界面都必须经过身份验证,但您可以在 Nagios 的配置中定义不同的用户及其各自的权限。