====== MDL29Personn ======
===== Creer le schemas LDAP de MDL =====
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\\
===== OID qu'est ce que c'est ? =====
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
===== Créer un attribut =====
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
)
===== Créer une classe d'objet =====
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 )
)
===== utiliser le nouveau schéma =====
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
===== D'autres Attribut pour mdl29Personn =====
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)
)
===== définition d'un ObjectClass association =====
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 )
)