Есть сервер с Redmine 3.1.7, есть сервер OpenLDAP, установлен на Centos 7 из yum, версия 2.4.40.
Схема дерева
dc=ldap,dc=centos
|
|-ou=People
| |--cn=u1 (posixAccount)
| |--cn=u2
|
|-ou=Group
| |--cn=it
| |--cn=hr
| |--cn=pr
|
|-ou=test
|--cn=test1 (posixGroup)
|--cn=u3 (posixAccount)
Задача: настроить ldap на авторизацию пользователей в зависимости от принадлежности к группе. В группе cn=it пользователи cn=u1 и cn=u2 числятся member'ами. Однако авторизоваться ни одним из них на стороннем сервисе (в моем случае, это редмайн) не могу. Путь до каталога указываю cn=it,ou=Group,dc=ldap,dc=centos.
Через phpldapadmin: если создать отдельный ou=test, в нем cn=test1 (posixGroup) и уже в нем создать пользователя cn=u3(posixAccount), и в настройках сервиса прописать полный путь до записи cn=test1,ou=test,dc=ldap,dc=centos, пользователь u3 создается на лету и может авторизоваться.
Вопрос: с какими атрибутами и классами (минимальная комплектация) нужно создать:
1. пользователя в ou=Peolpe,
2. группу в ou=Group, чтобы пользователь мог авторизоваться на сервисах в зависимости от нахождения в группе? Например, пользователям в группе it доступна авторизация в редмайне, пользователям в группе pr - в астериске, пользователями в группе hr - в crm и т.д., т.е. каждый пользователь находится более, чем в одной группе, и именно группе разрешен вход.
slapcat
...
dn: ou=People,dc=ldap,dc=centos
objectClass: organizationalUnit
ou: People
structuralObjectClass: organizationalUnit
dn: ou=Group,dc=ldap,dc=centos
objectClass: organizationalUnit
ou: Group
description: generic groups branch
structuralObjectClass: organizationalUnit
dn: cn=it,ou=Group,dc=ldap,dc=centos
objectClass: groupOfNames
cn: it
description: IT security group
structuralObjectClass: groupOfNames
member: cn=u1,ou=People,dc=ldap,dc=centos
member: cn=u2,ou=People,dc=ldap,dc=centos
dn: cn=u1,ou=People,dc=ldap,dc=centos
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
userPassword:: NDQ0
shadowLastChange: 15140
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1004
gidNumber: 1004
structuralObjectClass: account
cn: u1
homeDirectory: /home/u1
uid: u1
dn: cn=u2,ou=People,dc=ldap,dc=centos
objectClass: inetOrgPerson
userPassword:: NTU1
homePhone: 555-111-2222
mail: u5@example.com
ou: it
structuralObjectClass: inetOrgPerson
cn: u2
description: new u2
sn: u2
uid: u2
dn: ou=test,dc=ldap,dc=centos
objectClass: organizationalUnit
objectClass: top
ou: test
dn: cn=test1,ou=test,dc=ldap,dc=centos
cn: test1
gidNumber: 502
objectClass: posixGroup
objectClass: top
structuralObjectClass: posixGroup
dn: cn=u3,cn=test1,ou=test,dc=ldap,dc=centos
sn: u3
cn:: IHUz
uid: u3
userPassword:: MzMz
uidNumber: 1000
gidNumber: 502
homeDirectory: /home/users/u3
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
structuralObjectClass: inetOrgPerson