LDAP apache
Материал из noname.com.ua
Авторизаия в Апаче (нагиос)
Задача: есть нагиос, нужно добавить к нему пользователей из групп в лдап
Пример конфигурации
<DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
AuthType Basic
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios3/htpasswd.users
AuthGroupFile /etc/nagios3/htpasswd.groups
AuthBasicProvider file ldap
# AuthLDAPURL ldap://127.0.0.1:10389/dc=mirantis,dc=net
AuthLDAPURL ldap://ldap:389/dc=mirantis,dc=net
AuthLDAPMaxSubGroupDepth 1
AuthLDAPBindAuthoritative off
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN on
# require valid-user
require group nagios
require ldap-group cn=internal-cloud-support,ou=groups,O=mirantis
require ldap-group cn=it-cloud-ops,ou=groups,O=mirantis
require ldap-group cn=managed-services-all, ou=groups, o=mirantis
require ldap-attribute memberOf=CN=internal-cloud-support,OU=groups,O=mirantis,DC=mirantis,DC=net
require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net
</DirectoryMatch>
на что обратить внимание
В лоб задача решения не имеет. Если прописать
require valid-user
то авторизация работает для всех пользователей в LDAP не зависимо от того входит ли пользователь в группу или нет
Как "костыль" - я добавляю локальных пользователей в группу nagios и проверяю что бы пользователь был ИЛИ в группе nagios что никогда не правда для пользователей LDAP ИЛИ в одной из разрешенных групп.
В зависимости от LDAP может требоваться memberOf
- настройка групп
# cat /etc/nagios3/htpasswd.groups nagios: nagiosadmin
AuthUserFile /etc/nagios3/htpasswd.users
AuthGroupFile /etc/nagios3/htpasswd.groups
AuthBasicProvider file ldap
# AuthLDAPURL ldap://127.0.0.1:10389/dc=mirantis,dc=net
AuthLDAPURL ldap://ldap:389/dc=mirantis,dc=net
AuthLDAPMaxSubGroupDepth 1
AuthLDAPBindAuthoritative off
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN on
# require valid-user
require group nagios
require ldap-group cn=internal-cloud-support,ou=groups,O=mirantis
require ldap-group cn=it-cloud-ops,ou=groups,O=mirantis
require ldap-group cn=managed-services-all, ou=groups, o=mirantis
require ldap-attribute memberOf=CN=internal-cloud-support,OU=groups,O=mirantis,DC=mirantis,DC=net
require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net