Допустим, я добавил user1 + user2 в список "memberUid" из "app1_users" и user2 + user3 в список "memberUid" из "app2_users".
Это не работает с posixGroup записей с memberUid как атрибут членства. memberUid содержит только краткое имя пользователя, а не DN.
Поскольку slapd.access (5) четко заявляет, что групповые ACL-списки работают только с атрибутами-членами, содержащими полное различающееся имя (DN) каждой записи члена:
The statement group=<group> means that access is granted to requests whose DN is listed in the group entry whose DN is given by <group>. The optional parameters <objectclass> and <attrname> define the objectClass and the member attributeType of the group entry. The defaults are groupOfNames and member, respectively.
Некоторые заметки о ваших ACL:
- Опустите ACL для атрибута shadowLastChange, потому что карта теней LDAP является неработающей концепцией. И если вы используете карты теней, ваш ACL (возможно, копирование и вставка из некоторых практических рекомендаций) позволит пользователю обойти истечение срока действия теневого пароля.
- Не предоставляйте неявную привилегию на чтение для userPassword с помощью инклюзивного доступа на запись.
=w
Вместо этого используйте привилегию только для записи .
Смотрите также мой ответ на этот вопрос на serverfault :
И прежде чем идти по этому пути самостоятельно, я бы рекомендовал рассмотреть возможность использования одной из систем, упомянутых в других ответах: