nagios - Web 介面:透過 kerberos 進行身份驗證 好的,那麼 cgi.cfg 上的授權怎麼樣?

nagios - Web 介面:透過 kerberos 進行身份驗證 好的,那麼 cgi.cfg 上的授權怎麼樣?

我已經成功安裝了 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

相關內容