我已經成功安裝了 nagios,它透過 apache2 提供身份驗證,它聯繫 kerberos 身份驗證伺服器來對使用者進行身份驗證。
現在,用戶已通過身份驗證,但他們沒有任何授權,因為授權已配置cgi.cfg
,我不想手動一一配置所有用戶,或向每個經過身份驗證的用戶授予所有權限。
我想知道是否可以在cgi.cfg
文件上設定群組(例如 nagios_reader,有權觀看 Web 介面、主機和服務狀態,以及 nagios_writer,能夠執行外部命令)而不是在使用者上設置,如果這些可以從 LDAP 中提取群組。
答案1
我想知道是否可以在 cgi.cfg 檔案上設定群組
恐怕答案是否定的。 Nagios 尚不支援此功能。的價值authorized_
options 必須是經過驗證的使用者名稱的逗號分隔清單。但如果如你所說,“這些群組可以從 LDAP 中提取”,因此您可以使用一些 shell 腳本來新增群組中的每個成員。
Nagios 有authorized_for_read_only
用於配置在 CGI 中具有唯讀權限的使用者名稱清單的選項。假設包含nagios_reader.ldif
:
# nagios_reader, it, domain.com
dn: cn=nagios_reader,ou=it,dc=domain,dc=com
cn: nagios_reader
member: cn=foo,ou=it,dc=domain,dc=com
member: cn=bar,ou=it,dc=domain,dc=com
objectClass: groupOfNames
objectClass: top
authorized_for_read_only
您可以使用以下命令將該群組的所有成員配置為變數值:
$ ldapsearch -x -W -D "cn=manager,dc=domain,dc=com" "cn=nagios_reader" | \
awk -F"=|," '/member: / { print $2 }' | \
while read u; do sed -i "/^authorized_for_read_only/s/$/,$u/" cgi.cfg; done