Prochaine révision | Révision précédente |
informatique:reseau:ldap:dynlist [2020/01/08 10:47] – créée bn8 | informatique:reseau:ldap:dynlist [2022/08/22 11:15] (Version actuelle) – bn8 |
---|
| ====== Module dynlist ====== |
| |
Ce module permet la gestion d'attributs dynamiques listant les groupes d'un utilisateur sur la base de sa présence dans de son DN dans un attribut listant les membres au niveau des groupes. **Ce module peut-être utilisé à la place du module [[memberof]] dans un contexte de serveurs utilisant une réplication //syncrepl//.** | Ce module permet la gestion d'attributs dynamiques listant les groupes d'un utilisateur sur la base de sa présence dans de son DN dans un attribut listant les membres au niveau des groupes. **Ce module peut-être utilisé à la place du module [[memberof]] dans un contexte de serveurs utilisant une réplication //syncrepl//.** |
| |
===== Installation ===== | ===== Installation ===== |
| |
Il faut d'abord charger le modules //dynlist// : | Il faut d'abord charger le module //dynlist// : <code bash>ldapmodify -Y EXTERNAL -H ldapi:/// << EOF |
* Créer le fichier ///tmp/load-module.ldif// : <code>dn: cn=module{0},cn=config | dn: cn=module{0},cn=config |
changetype: modify | changetype: modify |
add: olcModuleLoad | add: olcModuleLoad |
olcModuleLoad: dynlist</code> | olcModuleLoad: dynlist |
* Jouer ce LDIF via //ldapmodify// : <code bash>ldapmodify -x -D cn=admin,cn=config -W -f /tmp/load-module.ldif | EOF</code> |
# Ou : | |
ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/load-module.ldif</code> | |
| |
Il faut ensuite activer ce module pour votre //database// : | Il faut charger également le schéma LDAP propre à ce module (fourni par le paquet Debian //slapd//) : <code bash>ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/dyngroup.ldif</code> |
* Créer le fichier ///tmp/config-module.ldif// : <code>dn: olcOverlay={0}dynlist,olcDatabase={1}mdb,cn=config | |
| Il faut ensuite activer ce module pour votre //database// : <code bash>ldapadd -Y EXTERNAL -H ldapi:/// << EOF |
| dn: olcOverlay=dynlist,olcDatabase={1}mdb,cn=config |
objectClass: olcOverlayConfig | objectClass: olcOverlayConfig |
objectClass: olcDynamicList | objectClass: olcDynamicList |
olcOverlay: dynlist | olcOverlay: dynlist |
olcDlAttrSet: zioPersonne zioMemberOfURI memberOf | olcDlAttrSet: zioPersonne zioMemberOfURI memberOf |
| EOF |
</code> | </code> |
* Jouer ce LDIF avec //ldapadd// : <code bash>ldapadd -x -D cn=admin,cn=config -W -f /tmp/config-module.ldif | |
# Ou : | <note tip>La définition de l'attribut //memberof// est fourni par l'overlay OpenLDAP du même nom. Si vous avez l'erreur ''unable to find AttributeDescription #0 "memberOf"'', vous pouvez charger le overlay ''memberof'' ou bien ajouter le schéma LDAP suivant : <code ldif>dn: cn=memberof,cn=schema,cn=config |
ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/config-module.ldif</code> | cn: memberof |
| objectClass: olcSchemaConfig |
| olcAttributeTypes: {0}( 1.2.840.113556.1.2.102 NAME 'memberOf' DESC 'Group that the entry belongs to' EQUALITY distinguishedNameMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )</code></note> |