Назад | Перейти на главную страницу

nagios - Веб-интерфейс: аутентификация через kerberos Хорошо, а как насчет авторизации на cgi.cfg?

Я успешно установил nagios, и он обеспечивает аутентификацию через apache2, который связывается с сервером аутентификации Kerberos для аутентификации пользователей.

Теперь пользователи аутентифицированы, но у них нет авторизации, поскольку авторизация настроена на cgi.cfg и я не хочу настраивать всех моих пользователей по одному вручную или давать все права каждому аутентифицированному пользователю.

Я хотел бы знать, можно ли настроить группы на cgi.cfg файл (например, nagios_reader с правом просмотра веб-интерфейса, состояния хоста и служб и nagios_writer с возможностью запуска внешних команд) вместо пользователя, и если эти группы могут быть извлечены из LDAP.

Я хотел бы знать, можно ли настроить группы в файле cgi.cfg

Боюсь, ответ отрицательный. Nagios еще не поддерживает эту функцию. Значение authorized_ Параметры должны быть разделенным запятыми списком имен аутентифицированных пользователей. Но если, как вы сказали, "эти группы могут быть извлечены из LDAP", поэтому вы можете добавить всех участников в группу с помощью небольшого сценария оболочки.

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