Я успешно установил 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