Forum Linux.debian/ubuntu Configuration serveur LDAP

Posté par  . Licence CC By‑SA.
Étiquettes :
0
9
jan.
2020

Bonsoir,

J'essaie depuis cet après-midi d'ajouter des données dans la base de mon serveur LDAP.

Je suis sous debian buster.

J'aimerais savoir comment modifier le contenu de la commande " slapcat " qui ne me donne accès en admin seulement à dc=fr.

Cette commande " dpkg-reconfigure slapd " devrais le faire mais elle ne m'ajoute pas dc=domain, je n'ai que dc=fr !

Je n'ai que cette commande qui me permet d'aller plus loins :

root@homeserv:~/ldap/domain.fr# ldapadd -x -D cn=admin,dc=fr -W -f add_content.ldif

Enter LDAP Password:

adding new entry "ou=People,dc=example,dc=com"
ldap_add: Server is unwilling to perform (53)
        additional info: no global superior knowledge
 que signifie l'erreur 53 ?

Depuis cet après-midi j'ai vu des liens interessant mais pas possible de bien configurer ce serveur LDAP comme il faut encore.

https://linuxfr.org/users/peb--2/journaux/gestion-de-ldap-sous-debian-openldap#comment-1463261

http://articles.mongueurs.net/magazines/linuxmag65.html

https://debian-administration.org/article/585/OpenLDAP_installation_on_Debian

https://www.linuxsecrets.com/entry/3security-and-authentication/2015/07/02/1550-complete-guide-installing-openldap-and-phpldapadmin

Merci d'avance

  • # Besoin de te documenter sur LDAP

    Posté par  (site web personnel) . Évalué à 3.

    Salut,

    Il y a quelque chose que tu ne semble pas comprendre, un annuaire LDAP est un arbre, au sens mathématique du terme.

    Tu as semble t'il créer ton arbre avec la racine "dc=fr", tu ne peut donc pas rajouter un element dans "dc=com" -> "dc=example" car "dc=com" n'existe pas dans ta configuration.

    Quand à "dpkg-reconfigure slapd" il ne rajoutera jamais tout seul "dc=example,dc=com" car ta base ldap est déjà initialisée.

    Tu peut rajouter un "dc=tondomaine,dc=fr" puis ensuite un "ou=People,dc=tondomaine,dc=fr" dans ta base même si on essaye plutot d'avoir directement "dc=tondomaine,dc=fr" en racine

    • [^] # Re: Besoin de te documenter sur LDAP

      Posté par  . Évalué à 1.

      D'accord, mais comment tu peux rajouter un "dc=tondomaine,dc=fr" ?

      • [^] # Re: Besoin de te documenter sur LDAP

        Posté par  (site web personnel) . Évalué à 1.

        dans le fichier de configuration du serveur ldap : /etc/ldap/slapd.conf
        la directive suffix précise le point d'entrée de ton ldap

        suffix "dc=tondomaine,dc=fr"

        • [^] # Re: Besoin de te documenter sur LDAP

          Posté par  . Évalué à 1. Dernière modification le 10 janvier 2020 à 16:54.

          Je peux essayer à nouveau mais de base mon slapcat donne ceci.

          J'ai essayé mais même avec dpkg-reconfigure slapd, même en entrant mon nom de domain.fr ça ne le prend pas en compte si je tape après un slapcat.

          jo@homserv# slapcat
          
          dn: dc=fr
          objectClass: top
          objectClass: dcObject
          objectClass: organization
          o: fr
          dc: fr
          structuralObjectClass: organization
          entryUUID: a9aa43a2-c7dd-1039-9e0b-0bea6e28bf5c
          creatorsName: cn=admin,dc=fr
          createTimestamp: 20200110101359Z
          entryCSN: 20200110101359.571436Z#000000#000#000000
          modifiersName: cn=admin,dc=fr
          modifyTimestamp: 20200110101359Z
          
          dn: cn=admin,dc=fr
          objectClass: simpleSecurityObject
          objectClass: organizationalRole
          cn: admin
          description: LDAP administrator
          userPassword:: e1NTSEF9bUZtVlJTTm14amZvb0R6S3ovTHdPYlp5aEZselk5SFE=
          structuralObjectClass: organizationalRole
          entryUUID: a9b09e0a-c7dd-1039-9e0c-0bea6e28bf5c
          creatorsName: cn=admin,dc=fr
          createTimestamp: 20200110101359Z
          entryCSN: 20200110101359.613140Z#000000#000#000000
          modifiersName: cn=admin,dc=fr
          modifyTimestamp: 20200110101359Z 
          
      • [^] # Re: Besoin de te documenter sur LDAP

        Posté par  . Évalué à 2.

        Quand à "dpkg-reconfigure slapd" il ne rajoutera jamais tout seul "dc=example,dc=com" car ta base ldap est déjà initialisée.

        D'accord, mais comment tu peux rajouter un "dc=tondomaine,dc=fr" ?

        je dirais que tu peux t'en sortir en supprimant/purgeant ton LDAP pour le reinstaller ensuite en répondant correctement à la question de sa base

        • [^] # Re: Besoin de te documenter sur LDAP

          Posté par  . Évalué à 1.

          J'ai tout purgé/désinstallé,

          aptitude purge slapd ldap-utils
          rm -rf /var/lib/ldap/
          rm -rf /etc/ldap/
          rm -rf /etc/ldapscripts/
          

          J'ai réinstallé,

          aptitude install slapd ldap-utils ldapscripts
          slapcat
          dpkg-reconfigure slapd
          

          Toujours la même configuration,

          root@homeserv:~# slapcat
          dn: dc=nodomain
          objectClass: top
          objectClass: dcObject
          objectClass: organization
          o: nodomain
          dc: nodomain
          structuralObjectClass: organization
          entryUUID: 7905b028-ca36-1039-9b0c-0f4c16c73ba7
          creatorsName: cn=admin,dc=nodomain
          createTimestamp: 20200113095445Z
          entryCSN: 20200113095445.496723Z#000000#000#000000
          modifiersName: cn=admin,dc=nodomain
          modifyTimestamp: 20200113095445Z
          
          dn: cn=admin,dc=nodomain
          objectClass: simpleSecurityObject
          objectClass: organizationalRole
          cn: admin
          description: LDAP administrator
          userPassword:: e1NTSEF9bTRIcTIvMnlZR0l1VzJuRm1qVWhxNE1xY0docURGdkU=
          structuralObjectClass: organizationalRole
          entryUUID: 790c2278-ca36-1039-9b0d-0f4c16c73ba7
          creatorsName: cn=admin,dc=nodomain
          createTimestamp: 20200113095445Z
          entryCSN: 20200113095445.539039Z#000000#000#000000
          modifiersName: cn=admin,dc=nodomain
          modifyTimestamp: 20200113095445Z
          

          Je ne vois pas comment faire pour avoir "dc=tondomaine,dc=fr", le dpkg-reconfigure ne fonctionne pas correctement, ou j'ai loupé quelque chose ?

          • [^] # Re: Besoin de te documenter sur LDAP

            Posté par  . Évalué à 2.

            ton slap cat affiche maintenant "nodomain"

            c'est donc que tu as rentré "nodomain" à un moment de la configuration.

            refait ta purge et rentre l'info "tondomain.fr"
            ca devrait faire un "dc=tondomaine,dc=fr"

      • [^] # Re: Besoin de te documenter sur LDAP

        Posté par  (site web personnel) . Évalué à 2.

        bein tu créé l'entrée comme n'importe quelle entrée ldap, via un ldapadd avec le ldif qui va bien, dans le cas présent

        dn: dc=tondomaine,dc=fr
        objectClass: dcObject
        objectClass: organization
        dc: tondomaine
        o: monorga

        • [^] # Re: Besoin de te documenter sur LDAP

          Posté par  . Évalué à 1. Dernière modification le 13 janvier 2020 à 14:05.

          Maintenant que j'ai modifié mon /etc/hostname, j'ai supprimé la ligne MON.IP MON_DOMAIN.FR

          Je n'ai plus le dc=fr, j'ai juste dc=nodomain.

          Dans mon cas je ne vois pas à quoi sert /etc/hostname. Pour le moment, le voici

          127.0.0.1       localhost
          127.0.1.1       homesrv
          
          # The following lines are desirable for IPv6 capable hosts
          ::1     localhost ip6-localhost ip6-loopback
          ff02::1 ip6-allnodes
          ff02::2 ip6-allrouters
          
          # MON.IP MON_DOMAIN.FR
          

          Du coup, je dois faire une entrée avec le ldif suivant ?

          dn: dc=fr
          objectClass: dcObject
          objectClass: organization
          o: monorga
          

          En revanche, j'ai bien pu ajouter l'entrée "dc=freewind, dc=fr"

          root@homeserv:~/ldap/freewind.fr# ldapadd -x -H ldap://localhost -D 'cn=admin,dc=nodomain' -f base.ldif
          adding new entry "dc=freewind, dc=fr"
          ldap_add: Server is unwilling to perform (53)
                  additional info: no global superior knowledge
          
          root@homeserv:~/ldap/freewind.fr# slapcat
          dn: dc=nodomain
          objectClass: top
          objectClass: dcObject
          objectClass: organization
          o: nodomain
          dc: nodomain
          structuralObjectClass: organization
          entryUUID: afab05ba-ca4f-1039-9882-87a6752bb6f3
          creatorsName: cn=admin,dc=nodomain
          createTimestamp: 20200113125514Z
          entryCSN: 20200113125514.595463Z#000000#000#000000
          modifiersName: cn=admin,dc=nodomain
          modifyTimestamp: 20200113125514Z
          
          dn: cn=admin,dc=nodomain
          objectClass: simpleSecurityObject
          objectClass: organizationalRole
          cn: admin
          description: LDAP administrator
          userPassword:: e1NTSEF9ZjVPS05sMTE3VVc5VnQ5QklpdGo4Vmtwem0vOFZCN2E=
          structuralObjectClass: organizationalRole
          entryUUID: afb1799a-ca4f-1039-9883-87a6752bb6f3
          creatorsName: cn=admin,dc=nodomain
          createTimestamp: 20200113125514Z
          entryCSN: 20200113125514.637820Z#000000#000#000000
          modifiersName: cn=admin,dc=nodomain
          modifyTimestamp: 20200113125514Z
          
          • [^] # Re: Besoin de te documenter sur LDAP

            Posté par  . Évalué à 1. Dernière modification le 14 janvier 2020 à 09:40.

            Le FQDN doit jouer sur le dc=fr d'ou le /etc/hosts.

            A côté de ça, j'arrete le serveur LDAP pour me concentrer sur openSMTPD + dovecot seulement pour déboguer facilement puis ajouter après le webmail Sogo.

            Le serveur LDAP étant un niveau encore au dessus, je vais juste utiliser le système de fichiers comme base avec Access Control List (ACL) puisque je n'ai pas beaucoup d'utilisateurs.

            Merci pour votre aide.

            Bonne journée.

          • [^] # Re: Besoin de te documenter sur LDAP

            Posté par  (site web personnel) . Évalué à 2.

            oh la la …

            Maintenant que j'ai modifié mon /etc/hostname, j'ai supprimé la ligne MON.IP MON_DOMAIN.FR

            Déjà je ne vois pas trop le rapport avec la choucroute (la creation de ton annuaire ldap)
            Ensuite editer le /etc/hosts … mauvaise idée a priori

            Du coup, je dois faire une entrée avec le ldif suivant ?

            Tu ne "dois" rien, c'est à toi de décider tout d'abord quelle sera ta structure ldap, et surtout une fois que tu l'as décidé il faut arreter de la changer toutes les 5 minutes …

            En revanche, j'ai bien pu ajouter l'entrée "dc=freewind, dc=fr"

            Heu .. non

            root@homeserv:~/ldap/freewind.fr# ldapadd -x -H ldap://localhost -D 'cn=admin,dc=nodomain' -f base.ldif
            adding new entry "dc=freewind, dc=fr"
            ldap_add: Server is unwilling to perform (53)
            additional info: no global superior knowledge

            => unwilling == pas d'accord
            => "no global superior knowledge" = pas de branche à laquelle raccrocher la nouvelle entrée, ce qui n'est pas surprenant vu qu'a priori tu as re-créer un annuaire avec une racine "dc=nodomain" et que tu vaut rajouter l'entrée "dc=freewind" sur l'element "dc=fr"

            Donc je répète ce que j'ai dit plus haut: si tu veut/doit mettre en place un annuaire LDAP oublie tout les tuto que tu as lu et documente toi sur les annuaires LDAP et sur l'administration d'OpenLDAP avant de taper n'importe quoi sans comprendre.

            Un annuaire est basé une structure logique et administrative qu'il faut avoir définie AVANT de l'utiliser, ce n'est pas une simple base de donnée SQL

    • [^] # Re: Besoin de te documenter sur LDAP

      Posté par  . Évalué à 1.

      Faut que je retrouve la documentation que j’ai lu pour utiliser LDAP, car en effet, ce n’est pas classique comme fonctionnement.

      En gros, ton LDAP contient autant ta config que tes données.
      Le protocole LDAP (qui permet d’accéder à ton LDAP) est très souple pour te permettre d’accéder à ta config et tes données, sous quelque forme d’organisation que tu as choisi.
      Et du coup, depuis n’importe quelle appli utilisant LDAP en backend, tu devrais pouvoir faire ta requête LDAP pour sélectionner la bonne liste de membre, vérifier leur password, etc.

      J’avais besoin de multidomaine (.com, .org, .fr), du coup, j’ai créé une racine multi-domaine (multiverse) et ait placé l’ou=people en niveau 1 comme certains utilisateurs devait également être multi-domaine. Ça donne :

      dc=multiverse
        # Les users qui peuvent être référencés
        + ou=people
        | + uid=user1
        | + uid=user2
        + dc=org
        | + dc=domain
        | | + ou=apps
        | |   + cn=nextcloud # type: groupOfUniqueNames, ça me permet de référencer les users qui peuvent utiliser ce nextcloud
        | + dc=autredomaine
        | | + ou=apps
        | |  + cn=gitea # type: groupOfUniqueNames, ça me permet de référencer les users qui peuvent utiliser ce gitea
        + dc=com
          + dc=myemail
            + ou=apps
              +cn=mail # type: groupOfUniqueNames, ça me permet de référencer les users qui peuvent utiliser les emails
      

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.