L'annuaire LDAP

De Mediase3
Aller à : Navigation, rechercher
Retour chapitre en cours : XI. Architecture technique globale

Sommaire

Généralités

L'annuaire LDAP est un standard d'annuaire qui permet l'interopérabilité entre différents services, par exemple, entre un serveur de communication, le LCS ou Slis et un serveur de fichier comme SambaEdu3.

Le protocole LDAP est basé sur un modèle client-serveur. Les serveurs LDAP fournissent le service d'annuaire et les clients LDAP utilisent le service d'annuaire pour accéder aux données.

Un annuaire est formé par plusieurs entrées ou enregistrements contenant des informations. Les informations sont stockées dans les différents champs de chaque enregistrement. Chaque champ contient un type d'information spécifique. Par exemple, ceux servant à enregistrer une personne peuvent être le nom, le prénom, un groupe d'appartenance comme une classe, etc...

L'enregistrement pour une personne peut se faire ainsi :

cn: Paul Jones
givenName :Paul

les attributs utilisés sont cn pour "common name", c'est-à-dire le nom utilisé pour nommer la personne (généralement Nom et Prénom), givenname pour le prénom.

Un attribut peut avoir plusieurs valeurs. Une personne peut donc avoir deux numéros de téléphone ou deux "common name" (le nom et le prénom utilisés couramment puis le diminutif en deuxième cn ). Ceci donnerait un enregistrement du type :

cn: Paul Jones
cn: Paulot
givenName: Paul

Les attributs peuvent, bien sûr, contenir des données autres comme une adresse postale ou électronique ainsi que des photos au format JPEG ou la voix d'une personne enregistrée dans un fichier audio, etc...


Arbre1.png


Structure de l'importation SCONET

Dans un annuaire, les données sont rangées selon une hiérarchie en arbre (tree hierarchy). En haut de cette hiérarchie, se trouve la racine et les branches de l'arbre permettent d'accéder aux enregistrements de l'annuaire.

La racine :

  • Il existe deux types de nommage de racine. L'un est basé sur une répartition géographique des informations. On trouvera ainsi à la racine de l'arbre d'abord le pays (champ c) puis la société ou l'organisation, elles mêmes éventuellement divisées en unités organisationnelles plus petites.
  • On peut aussi trouver un autre type de nommage basé sur un service de noms compatible avec les DNS. Dans ce cas, la racine est repérée par un nom de domaine.

Exemple: dc=se3pdc, dc=jverne, dc=lyc14, dc=ac-caen, dc=fr pour le domaine se3pdc.jverne.lyc14@ac-caen.fr

C'est ce type de dénomination qui est employé dans le cas du serveur Se3. Mais dans le cadre de cet exemple, nous utiliserons le domaine dc=knoppix.


Les branches

L'arbre de l'annuaire LDAP de Se3 comprend 5 branches de type OU (Organization Unit) :

==la Branche People== dans laquelle tous les membres de l'annuaire(élèves, enseignants, administratifs) sont répertoriés.

Exemple d'enregistrement d'un utilisateur dans l'annuaire LDAP :

     dn: uid=paul.jones,ou=People,dc=Knoppix
     uid: Paul.Jones
     cn: Paul jones
     givenName: paul
     sn: Jones
     mail: paul.jones@demo.net
     objectClass: top
     objectClass: account
     objectClass: posixAccount
     objectClass: shadowAccount
     objectClass: person
     objectClass: inetOrgPerson
     objectClass: sambaAccount
     loginShell: /bin/true
     uidNumber: 1002
     gidNumber: 1001
     employeeNumber: 20809
     homeDirectory: /home/paul.jones
     userPassword: {crypt}ZKg.PZWDyw92E
     gecos: 19720515,F,N
     rid: 3004
     primaryGroupID: 3003
     lmPassword: 06DF8E2B75D1CBD69C5014AE4718A7EE
     ntPassword: C456457706A391929C0BE84FB5DC8584
     pwdMustChange: 2147483647
     acctFlags: [U          ]


==La branche Groups== où l'on trouve les groupes élèves, profs, administratifs, classes, cours, équipes pédagogiques et matières.


  • Le groupe "classe" répertorie les élèves d'une classe. C'est un groupe de type "posixgroup".

Exemple d'un groupe classe :

     dn: cn=Classe_1GMAB,ou=Groups,dc=Knoppix
     objectClass: top
     objectClass: posixGroup
     cn: Classe_1GMAB
     gidNumber: 1052
     description: 1STI ET ADAP GM
     memberUid: christophe.martin
     memberUid: julien.durand
     memberUid: jennifer.feugueray
     memberUid: erwan.delaune
     memberUid: marlène.gautier
     memberUid: ...............
  • Le groupe "cours" répertorie les élèves qui assiste à ce cours ainsi que l'enseignant qui le dispense. Les élèves peuvent provenir de classes différentes. C'est un groupe de type "posixgroup".
  • Le groupe "équipe pédagogique" recense l'ensemble des enseignants intervenant dans une classe donnée. C'est un groupe de type "groupOfNames".

Exemple d'un groupe "équipe pédagogique" :

      dn: cn=Equipe_1GMAB,ou=Groups,dc=Knoppix
      objectClass: top
      objectClass: groupOfNames
      cn: Equipe_1GMAB
      description: 1STI ET ADAP GM
      owner: uid=jean-paul.garnier,ou=People,dc=Knoppix
      member: uid=paul.jones,ou=People,dc=Knoppix
      member: uid=alain.deveu,ou=People,dc=Knoppix
      member: uid=nathalie.robert,ou=People,dc=Knoppix
      member: uid=annie.lemaire,ou=People,dc=Knoppix
      member: uid=michel.rutot,ou=People,dc=Knoppix
      member: uid=jean.boutier,ou=People,dc=Knoppix
      member: uid=mickael.giraud,ou=People,dc=Knoppix

Le "owner" du groupe est le professeur principal de la classe 1GMAB. Les autres membres de ce groupe sont les enseignants de cette classe.

  • Le groupe "matières" On trouve dans le groupe "matières" l'ensemble des professeurs qui enseignent la même discipline au sein de l'établissement. C'est un groupe de type "groupOfNames".


  • La branche Computers répertoriant toutes les machines du domaine se3 :
     dn: ou=Computers,dc=knoppix
     objectClass: organizationalUnit
     ou: Computers

Exemple d'un poste doté d'un système d'exploitation XP :

Chaque machine dotée d'un système d'exploitation XP doit posséder un compte et est munie d'un uid se terminant par le signe $.

     dn: uid=mineoutxp$,ou=Computers,dc=knoppix
     uidNumber: 1002
     gidNumber: 1000
     homeDirectory: /dev/null
     loginShell: /bin/false
     objectClass: top
     objectClass: posixAccount
     objectClass: sambaAccount
     uid: mineoutxp$
     pwdLastSet: 1049885396
     logonTime: 0
     logoffTime: 0
     kickoffTime: 0
     pwdCanChange: 0
     pwdMustChange: 0
     displayName: MINEOUTXP$
     cn: MINEOUTXP$
     description: Computer
     rid: 3004
     primaryGroupID: 3001
     lmPassword: 2A03C65266C8D8F0F5EE6BB1337ED681
     ntPassword: 2A03C65266C8D8F0F5EE6BB1337ED681
     acctFlags: [W          ]

Lorsque qu'une machine s'est connectée sur le domaine, l'adresse IP attribuée est renseignée dans l'annuaire de la manière suivante :

     dn: cn=mineoutxp,ou=Computers,dc=knoppix
     cn: mineoutxp
     objectClass: top
     objectClass: ipHost
     objectClass: ieee802Device
     ipHostNumber: 10.1.0.6

Ceci se vérifie pour toutes les machines :

     dn: cn=poste_103,ou=Computers,dc=knoppix
     objectClass: top
     objectClass: ipHost
     objectClass: ieee802Device
     cn: poste_103
     ipHostNumber: 10.1.0.4


  • La branche Parcs qui définit les parcs de machines :
     dn: ou=Parcs,dc=knoppix
     objectClass: organizationalUnit
     ou: Parcs

Exemple de deux parcs de machines :

     dn: cn=salle_info1,ou=Parcs,dc=knoppix
     objectClass: groupOfNames
     cn: salle_info1
     member: cn=poste_103,ou=Computers,dc=knoppix
     member: cn=poste_104,ou=Computers,dc=knoppix
     member: cn=poste_105,ou=Computers,dc=knoppix
     dn: cn=office97,ou=Parcs,dc=knoppix
     cn: office97
     member: cn=poste_103,ou=Computers,dc=knoppix
     member: cn=poste_104,ou=Computers,dc=knoppix
     member: cn=poste_105,ou=Computers,dc=knoppix
     member: cn=poste_cdi1,ou=Computers,dc=knoppix
     member: cn=poste_cdi2,ou=Computers,dc=knoppix

Une machine peut faire partie de plusieurs parcs. En effet, s'il est logique de regrouper dans un même parc des machines localisées dans une salle de cours, il doit être aussi possible de regrouper dans un autre parc des machines sur lesquelles aura été installé un logiciel spécifique. Dans ce cas, une machine ferait partie du parc relatif à la localisation géographique d'une part et de celui relatif à une configuration logicielle particulière d'autre part.


  • La branche Rights qui répertorie les droits d'administration accordés aux membres de l'annuaire sur l'interface Web.


  • se3_is_admin : contient la liste des utilisateurs possédant tous les droits sur l'interface Web.
  • Annu_is_admin : contient la liste des utilisateurs habilités à modifier l'annuaire (ajout ou suppression d'un utilisateur, par exemple).
  • sovajon_is_admin : contient la liste des utilisateurs pouvant changer le mot de passe des élèves.
  • system_is_admin : contient la liste des utilisateurs pouvant visualiser les informations système du serveur Se3.
  • computers_is_admin : contient la liste des utilisateurs aptes à gérer le parc de machines connectées sur le domaine Se3.
  • printer_is_admin : contient la liste d'utilisateurs aptes à gérer le parc d'imprimantes
  • lcs_is_admin : contient la liste des utilisateurs administrateur du LCS.
  • lcs_moder : droit de modération sur les forums du LCS.
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Support
Téléchargements
Développement
Outils logiciels
Boîte à outils