Let's say that I added user1 + user2 to the "memberUid" list of "app1_users" and user2 + user3 to the "memberUid" list of "app2_users".
Isso não funciona com as entradas posixGroup com memberUid como atributo de membro. memberUid contém apenas um nome de usuário curto e não um DN.
Como o slapd.access (5) indica claramente que as ACLs do grupo só funcionam com membros atributos contendo o nome distinto completo (DN) de cada entrada de membro:
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.
Algumas notas sobre suas ACLs:
- Omita a ACL para o atributo shadowLastChange porque o mapa de sombra do LDAP é um conceito quebrado. E se você usar mapas de sombra, sua ACL (provavelmente copiar e colar de algum como fazer) permitiria ao usuário contornar a expiração da senha de sombra.
- Não conceda privilégios de leitura implícitos a userPassword usando o acesso de gravação inclusivo. Use o privilégio somente de gravação
=w
.
Veja também minha resposta a essa pergunta em serverfault :
E antes de seguir esse caminho você recomendaria usar um dos sistemas que mencionei em outras respostas:
back-end do NSS centralizado para Linux
Como permitir que apenas usuários e / ou grupos acessem determinadas máquinas cliente conectadas a um servidor openldap?