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

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

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

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

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

решение1

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

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

У Нагиоса есть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

Связанный контент