Всем доброго времени суток. Имеется SLES11 и ldap сервер 389 ldap (FDS, если угодно).
Структура в ldap-е:
cn=group1,ou=Groups,o=someorg
uniqueMember-ы:
uid=user1, ou=People, o=someorg
uid=user2, ou=People, o=someorg
cn=group2,ou=Groups,o=someorg
uniqueMember-ы:
uid=user3, ou=People, o=someorg
uid=user4, ou=People, o=someorg
Задача: сделать доступ до сервера по SSH с авторизацией через ldap, так, чтобы был доступ у каждого из группы group1 и group2. гугление на тему nested groups выдало мне примерно такое представление о решении:
Делаем cn=group3,ou=Groups,o=someorg:
uniqueMember:
cn=group1,ou=Groups, o=someorg
cn=group2,ou=Groups, o=someorg
далее нужно чтобы nss_ldap делал запросы в group1 и group2 и доставал оттуда uniqueMember-ы.
в манах и интернетах написано, что мне нужна опция nss_schema rfc2307bis:
nss_schema <rfc2307bis|rfc2307>
If the value of this option is rfc2307bis then support for the RFC2307bis schema (distinguished names in groups) will be enabled.
Однако ее использование не приносит желаемого результата, авторизация не проходит с ошибкой:
$ ssh someuser@ldap1.someorg.local
Password:
You must be a uniqueMember of cn=group3,ou=Groups,o=someorg to login.
ЧТЯДН?
Конфиг:
uri ldap://ldap1.someorg.local
base ou=People,o=someorg
ldap_version 3
scope sub
#ssl start_tls
#tls_cacertfile /etc/ssl/cacert.pem
binddn uid=pam,ou=Virtuals,o=someorg
bindpw somepass
bind_timelimit 10
bind_policy hard
idle_timelimit 2
# PAM options with group-based access configuration:
#disabled for tests
#pam_filter objectClass=*
pam_login_attribute uid
pam_groupdn cn=group3,ou=Groups,o=someorg
pam_member_attribute uniqueMember
# nsswitch.conf options:
nss_schema rfc2307bis
#nss_initgroups backlink
nss_base_password ou=People,o=someorg?sub
nss_base_shadow ou=People,o=someorg?sub
nss_base_group ou=Groups,o=someorg?sub
nss_reconnect_sleeptime 0
nss_reconnect_maxsleeptime 1
nss_reconnect_maxconntries 1