Я использую openldap, nslcd и nss-pam-ldapd. Я хочу ограничить доступ пользователей к клиенту ldap. Я без проблем настроил это в CentOS 6.5, используя groupdn. но в CentOS 7 нет файла pam_ldap.conf
.
Как я могу решить эту проблему?
Я установил 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
.