en cours d'écriture
l'objectif est de créer des objets ldap qui n'existe pas dans les schémas standard.
Nous allons créer trois type d'objet :
un objet groupe pour lequel on affectera des ressources collaboratives
un objet association avec un président, CA, tresorier ..etc
un objet user pour affecter des ressources a cette utilisateur\\
bon comme d'habitude, on lit un peu de doc http://www-sop.inria.fr/members/Laurent.Mirtain/ldap-livre.html
c'est numero unique nous identifiant. Celui de la mdl à l'OID 1.3.6.1.4.1.37424. Il nous a été affecté par l'IANA.
pour l'organisation des branches en dessous, nous nous appuyons sur la doc
http://ldapbook.labs.libre-entreprise.org/book/html/ch08s04.html
Et nous decidons que:
1.3.6.1.4.1.37424.1 Branches des identifiants SNMP
1.3.6.1.4.1.37424.2 Branches des identifiants LDAP
1.3.6.1.4.1.37424.2.1 Branche des classes d'objets LDAP
1.3.6.1.4.1.37424.2.1.1 Premiere classe d'objet
1.3.6.1.4.1.37424.2.2 Identifiant du premier attribut LDAP
1.3.6.1.4.1.37424.2.2.1 Identifiant du premier attribut LDAP
donc pour créer notre schémas nous allons commencer par créer un fichier que l'on va nommer mdl29.schema. il sera créé dans /etc/ldap/schemas
donc on fait un
vi /etc/ldap/schemas/mdl29.schemas
encore un peu de doc http://www.it-sudparis.eu/s2ia/user/procacci/ldap/Ldap_int007.html
Nous allons pour creer un attribut il faut lui affecte un OID comme c'est le premier attribut du premier objectclass(nous l'avons pas encore defini) nous pouvons lui donner le 1.3.6.1.4.1.37424.2.2.1
Le rôle de cette attribut sera de savoir si le mail est hébergé chez nous. Le type de la valeur sera booléenne (TRUE or FALSE) elle sera unique chaque type de valeur a un OID de syntaxe qui la sera de 1.3.6.1.4.1.1466.115.121.1.7 ce qui donne
attributetype (1.3.6.1.4.1.37424.2.2.1 NAME ('MDL29HostingJabber') DESC 'Adresse Jabber Hebergé par MDL29' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 )
nous allons créer un objet qui aura pour attribut IshostingJabber Elle sera utilisé pour compléter l'objetclass TOP (c'est le cas pour toutes les classes ) il faut lui donner un nom , nous allons l'appeler mdl29Person un OID 1.3.6.1.4.1.37424.2.1.1 ce qui nous donne
objectclass ( 1.3.6.1.4.1.37424.2.1.1 NAME 'MDL29Person' SUP TOP AUXILIARY MAY ( MDL29HostingJabber ) )
Pas grand chose à faire, il suffit de declarer dans slapd.conf le schema (a reprendre)
vi /etc/ldap/slapd.conf
schema /etc/ldap/schema/mdl29.schema
et redémarrer ldap
/etc/init.d/slapd restart
maintenant vous pouvez vous connecter avec un ldapbrowser. prendre un utilisateur au pif lui affecter l'ObjectClass Mdl29Person, il aura l'attribut MDL29hostingJabber qu'il faudra renseigner par TRUE ou FALSE
En suivant la même logique, nous allons pour chaque service définir un attribut.
MDL29HostingJabber 1.3.6.1.4.1.37424.2.2.1 MDL29HostingMail 1.3.6.1.4.1.37424.2.2.2 MDL29HostingChimere 1.3.6.1.4.1.37424.2.2.3 MDL29HostingBlog 1.3.6.1.4.1.37424.2.2.4
pour l'objectClass
MDL29Person 1.3.6.1.4.1.37424.2.1.1
ce qui nous donne le schemas
attributetype (1.3.6.1.4.1.37424.2.2.1 NAME ('MDL29HostingJabber') DESC 'Adresse Jabber hébergé par MDL29' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 ) attributetype (1.3.6.1.4.1.37424.2.2.2 NAME ('MDL29HostingMail') DESC 'Adresse Mail Hébergé par MDL29' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 ) attributetype (1.3.6.1.4.1.37424.2.2.3 NAME ('MDL29HostingChimere') DESC 'Adresse Jabber Hebergé par MDL29' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 ) attributetype (1.3.6.1.4.1.37424.2.2.4 NAME ('MDL29HostingBlog') DESC 'Adresse Jabber Hebergé par MDL29' EQUALITY booleanMatch SINGLE-VALUE SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 ) objectclass ( 1.3.6.1.4.1.37424.2.1.1 NAME 'MDL29Person' SUP TOP AUXILIARY MAY ( MDL29HostingBlog $ MDL29HostingChimere $ MDL29HostingMail $ MDL29HostingJabber) )
bon d'abord il faut définir une association
dans une association, il y a des membres, un CA (qui contient des membres), un ou plusieurs trésoriers, un ou plusieurs présidents, un ou plusieurs secrétaires.
l'association peut avoir une adresse mail, une adresse, des numéro de téléphones(portables ou fixe)
pour l'OID on incrémente de 1 celui de MDL29Person. Ce qui nous donne 1.3.6.1.4.1.37424.2.1.2
a cette objectclass on sait que nous allons créer des attributs. Ils ne sont encore défini mais on a déjà leur nom ils sont dans la définition. on a CAmember, presidents, vice-precidents, tresorier, tresorier-adjoint, secretaire, secretaire-adjointe et enfin des membres member
objectclass ( 1.3.6.1.4.1.37424.2.1.2 NAME 'MDL29Association' SUP TOP AUXILIARY MAY ( MDL29CAmember MDLPresident ) )