====== 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 ) )