1. 程式人生 > >nagios設置無身份認證登陸

nagios設置無身份認證登陸

cgi res 註釋 release roo false ant entos init

nagios設置無身份驗證登錄

在生產環境中,我們當然需要為nagios監控服務設置安全機制,以此來控制服務器的安全。但是也不排除有特殊的需求。本人最近正好碰到了一個需要,具體要求為:直接輸入nagios的地址就可以訪問內部nagios監控界面,不用身份認證!!

操作環境如下:

[root@server13 httpd]# cat /etc/redhat-release
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
[root@server13 httpd]# uname -r
2.6.32-431.el6.x86_64
[root@server13 httpd]# uname -m
x86_64

apache版本:

[root@server13 httpd]# rpm -qa httpd
httpd-2.2.15-29.el6.centos.x86_64

nagios版本:

Version 3.5.1

經過一番折騰和多次的實驗,最終發現修改如下幾個參數即可實現無身份認證登錄,具體做法如下:

一、修改配置文件

1、修改配置文件/usr/local/nagios/etc/cgi.cfg(需和自己安裝路徑一致)

use_authentication=1

修改為:

use_authentication=0

2、修改配置文件/etc/httpd/conf.d/nagios.conf(需和自己安裝路徑一致,可以通過find命令查找)

去掉註釋後的配置文件內容為:

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
 
<Directory "/usr/local/nagios/sbin">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>
 
Alias /nagios "/usr/local/nagios/share"
 
<Directory "/usr/local/nagios/share">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /usr/local/nagios/etc/htpasswd.users
   Require valid-user
</Directory>

將如下兩行註釋掉:

#Require valid-user

一般來說,修改上面的兩個文件就已經能夠實現無認證登陸功能,但是也也能出現新的坑,我就在這裏被坑了很久......

3、配置文件/etc/httpd/httpd.conf

報錯信息如下:

Forbidden
You don't have permission to access /nagios/ on this server.

我在這個地方也是被坑了很久,經過一番的折騰才找到的這個參數:

<Directory />
    AllowOverride none
    Require all denied     #<==訪問控制,被拒絕了
</Directory>

將這個配置修改為:

<Directory />
    AllowOverride none
    Require all granted     #<==將denied修改為granted
</Directory>

二、重啟服務

重啟nagios服務:

/etc/init.d/nagios restart

重啟apache服務:

/etc/init.d/httpd restart

重啟完成後,即可實現無需身份認證登錄,直接訪問的功能,註意清除一下瀏覽器緩存!!


nagios設置無身份認證登陸