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

как контролировать доступ пользователей ldap с помощью groupdn?

Я использую openldap, nslcd и nss-pam-ldapd. Я хочу ограничить доступ пользователей к клиенту ldap. Я без проблем настроил это в CentOS 6.5, используя groupdn. но в CentOS 7 нет pam_ldap.conf файл. Я попытался сделать это, добавив следующую строку в nslcd.conf:

filter passwd (memberOf=cn=groupname,ou=groups,dc=example,dc=com)

но он не позволяет никому входить в систему, даже если он является членом группы. Как я могу решить эту проблему?

Я установил sssd и настроил его следующим образом, но все же каждый может войти в систему, даже если он не является членом указанной группы. и когда я пытаюсь войти в систему, журнал не записывается в sssd.log и /var/log/messages. Я могу просто проверить журнал nslcd, используя nslcd -d. sssd.conf:

[sssd]
config_file_version = 2
services = nss, pam
domains =example.com
debug_level = 10
[nss]
[pam]
[domain/example.com]
ad_server= app.example.com
ad_domain= example.com
sssd-ldap = app.example.com
ldap_access_order = filter, expire
ldap_access_filter = (memberOf=cn=groupname,ou=groups,dc=app,dc=example,dc=com)
ldap_schema = rfc2307bis
ldap_group_member = uniqueMember
ldap_search_base = dc=app,dc=example,dc=com
id_provider = ldap
auth_provider = ldap
access_provider = ldap
ldap_uri = ldap://app.example.com/

Вы должны использовать SSSD и настроить его для использования LDAP вместо работы напрямую с PAM.

Затем вы можете использовать в конфигурации домена SSSD следующее:

access_provider = simple
simple_allow_groups = groupname

это очень простой способ ограничить пользователей, но вы также можете использовать access_provider=ldap а затем использовать более сложные запросы LDAP для управления доступом.

Видеть man sssd и man sssd-ldap.