IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

LDAP : Filtres de recherche


Sujet :

Administration système

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Par défaut LDAP : Filtres de recherche
    Bonjour,

    étant actuellement en cours de test sur openldap via phpldapadmin je rencontre un petit soucis.

    Utilisant une application nécessitant un annuaire d'utilisateurs, j'ai paramétré un openldap sous Ubuntu 12.4.

    Via phpLdapAdmin, j'ai crée un Groupe Posix.

    J'ai aussi crée un utilisateur cn=Test avec les ObjectClass : InetOrgPerson, posixAccount et top

    Dans mon application les filtres de recherche suivants sont paramétrés :

    Pour l'authentification : (&(uid=$user)(objectClass=inetOrgPerson))

    Ca fonctionne parfaitement, je peux me loguer..

    Par contre j'ai ajouter un champ email à mon utilisateur (alias de mail, champ non requis pour PosixAccount)

    Et je n'arrive pas à faire le lien entre cet attribut et le compte dans lequel il est déclaré..

    Quelqu'un aurait une idée du filtre de recherche à utiliser, SVP ?

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonjour,

    Pourrais-tu me passer le tuto que tu a utilisé pour configurer LDAP, je suis aussi sur la 12.04 et les tuto que je suis tombe toujours en erreur.

    Par exemple le mot de passe que je définit dans la configuration n'es pas reconu.. etc


    Je te remercie d'avance.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Par défaut
    yep,
    qqq!qq
    Je ne pourrais plus situer le tuto que j'ai utilisé, mais, basiquement, voici ce que j'ai fait :

    1 - Localiser ton vrai fichier de configuration LDAP, en général, tu trouves (ou tu peux définir) le chemin du fichier en allant dans /etc/default et tu édites le fichier slapd.. le chemin du fichier par défaut est indiqué dans les premières lignes en commentaire ou bien tu peux le modifier (en général /etc/ldap/slapd.conf

    2 - Création du password manager : tapes la commande ldappasswd, tu entres le mot de passe, tu le confirme et tu copie le resultat dans un coin (fichier txt).

    3 - Edition de /etc/ldap/ldap.conf : tu indiques la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BASE     dc=nomserveur,dc=extension
    *extension = com, fr ou autre

    4 - Edition de /etc/ldap/slapd.conf

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    # Schema and objectClass definitions
    include         /etc/ldap/schema/core.schema
    include         /etc/ldap/schema/cosine.schema
    include         /etc/ldap/schema/nis.schema
    include         /etc/ldap/schema/inetorgperson.schema
    include         /etc/ldap/schema/ldapns.schema
    include         /etc/ldap/schema/misc.schema
    include         /etc/ldap/schema/openldap.schema
     
    #Ne pas mettre de guillemets sinon slapd ne peut être arrété
    pidfile         /var/run/slapd/slapd.pid
    argsfile        /var/run/slapd/slapd.args
     
    #Gestion du niveau de verbosité des logs
    loglevel        -1
     
    ####MODULES
    modulepath /usr/lib/ldap
     
    moduleload back_hdb
     
    #Nombre de résultats maximums pour une recherche
    #sizelimit 500
     
    #Nombre maximal de threads cpu utilisé pour l'indexation
    tool-threads 1
     
    backend         hdb
     
    ############### BASE LDAP ###############
    database        hdb
     
    # Nom de la base ldap #
    suffix          "dc=monserveur, dc=com"
    # Compte Manager interne_super utilisateur_
    rootdn          "cn=admin,dc=monserveur,dc=com"
    #Mot de passe du manager
    rootpw          {SSHA}xxxxxxxx (obtenu précédement par la commande ldappasswd)
     
    # Répertoire de la base ldap
     
    directory       "/var/lib/ldap/example.com.slapd.conf/"
     
    dbconfig set_cachesize 0 2097152 0
    dbconfig set_lk_max_objects 1500
    dbconfig set_lk_max_locks 1500
    dbconfig set_lk_max_lockers 1500
     
    #Indices to maintain
    index           objectClass eq
     
    # Save th time that the entry gets modified
    lastmod         on
     
    # Checkpoint the BerkeleyDB database periodically in case of system failure and
    # to speed slapd shutdown.
    checkpoint      512 30
     
    #ACL 1
    access to attrs=userpassword
            by dn="cn=admin,dc=monserveur,dc=com" write
            by anonymous auth
            by self write
            by * none
     
    access to attrs=ShadowLastChange
            by self write
            by * read
     
    access to *
            by dn="cn=admin,dc=monserveur,dc=com" write
            by *read

    5 - Initialisation de la base (via un fichier ldif)

    C'est ce fichier qui va créer l'utilisateur dans la base, il doit être de format ldif

    tu fais un vi nomfichier.ldif

    tu insères les infos suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ############## base.ldif
     
    dn: dc=monserveur,dc=com
    objectClass: top
    objectClass: dcObject
    objectClass: organization
    o: monserveur.com
    dc: monserveur
     
    dn: ou=Users,dc=monserveur,dc=com
    objectClass: top
    objectClass: organizationalUnit
    ou: Users
     
    dn: cn=admin,dc=monserveur,dc=com
    objectClass: top
    objectClass: organizationalRole
    cn: admin
    Ce fichier contient, dans l'ordre, les informations relatives :

    - Au nom de domaine
    - A à Racine de ton serveur
    - A l'utilisateur qui aura pour rôle l'administration

    Pour appliquer ce fichier commande :

    ldapadd -f nomfichier.ldif -x -D "cn=admin,dc=monserveur,dc=com" -w motdepasse(en clair).

    Normalement ta base devrait être opérationnelle et tu peux commencer à l'attaquer en configurant un outil du type phpldapadmin par exemple.

    A++

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 41
    Par défaut
    j'ai résolu mon problème de filtres de recherche.

    Apparemment en créant une entrée utilisateur posixaccount avec les objectclass inetorgperson et top, ce n'était pas suffisant (alors que le système me proposait d'ajouter l'attribut Email (alias de mail)).

    En rajoutant les objectclass Person, OrganizationalPerson et ShadowAccount, le filtre (&(mail=$mail)(objectClass=inetOrgPerson))

    Je me suis inspiré de structures de fichiers exemples ldif, glanés sur le net pour arriver à cette solution.

    Snyper, si tu as encore d'autres questions je pourrais essayer d'y répondre par MP (dans la mesure de mes capacités, je découvre LDAP).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LDAP] problème de recherche
    Par dj-julio dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 12/03/2008, 10h51
  2. affichage du filtre de recherche dans un état
    Par melitoriva dans le forum IHM
    Réponses: 4
    Dernier message: 03/03/2008, 12h10
  3. Filtre de recherche
    Par gta126 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/10/2007, 11h41
  4. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22
  5. Filtre de recherche -- Openldap
    Par Jack_le_Boulet dans le forum Réseau
    Réponses: 9
    Dernier message: 10/03/2006, 12h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo