Add ldap on YunoHost / Ajouter un ldap à YunoHost?

EN

Hello,

My question is quite simple is it possible to add a ldap to yunohost?
For the user login page.
If no, would it be possible to replace the existing ldap with another one?

best regards


FR

Bonjour,

Ma question est assez simple est il possible d’ajouter un ldap à yunohost ?
Pour la page de login utilisateur.
Si non serait il possible de remplacer le ldap existant par un autre ?

Cordialement

What do you mean by adding LDAP … There is LDAP in YunoHost as it stores info about users and so on…

My idea is add other ldap from windows server for use users list.
to login on yunohost user login page.

Comment ajouter des utilisateurs d’un DC Windows à yuno ?

bonjour,

j’ai la même question, est-ce que l’on peut réutiliser le LDAP de Yunohost pour un usage extérieur, par exemple pour authentifier les utilisateurs (déjà inscrit dans yunohost) sur une session sur un PC, récupérer les adresses courriels pour l’indiquer sur un scanner etc… ?

L’accès en localhost fonctionne bien, mais uniquement avec le compte admin, en ssh:

ldapsearch -v -H ldap://localhost:389 -D “cn=admin,dc=yunohost,dc=org” -W LLL “cn=admin” cn sn uid uidnumber

J’ai ouvert le port 389 dans le pare-feu, et l’accès admin n’est pas possible depuis un autre PC de toute façon.

Une idée de ce qu’il serait possible de réaliser ? Ou est-ce que ça vous semble trop scabreux ?

J’ai trouvé la doc https://moulinette.readthedocs.io/en/latest/ldap.html mais cela n’indique pas quel fichier de configuration modifier pour rajouter ce “configuration:
authenticate: all”

Il me semble qu’il faut éditer la conf slapd pour qu’il écoute aussi sur l’extérieur et pas juste sur le réseau local

Il me semble qu’il faut enlever le 127.0.0.1:389 pour avoir juste ldap:/// ldaps:/// ldapi:///

Mais pas sur …

j’ai essayé de modifier /etc/init.d/slapd
et mettre à la place

SLAPD_SERVICES=“ldap://0.0.0.0:389/ ldaps://0.0.0.0:636/ ldapi:///”

j’ai une erreur si je redémarre le service slapd (avec “service slapd restart”), cela indique :

CGroup: /system.slice/slapd.service
└─23690 /usr/sbin/slapd -h ldap://127.0.0.1:389/ ldaps:/// ldapi:/// -g >openldap -u openldap -F /etc/ldap/slapd.d

ça semble toujours prendre en compte le 127.0.0.1 de toute façon.

J’ai essayé également de l’envoyer en ligne de commande :
/usr/sbin/slapd -h “ldap://0.0.0.0:389/ ldaps:/// ldapi:///”
ou :
/usr/sbin/slapd -h “ldap:/// ldaps:/// ldapi:///”

ça passe (pas d’erreur), mais pas possible de se connecter à distance quand même.

Merci pour la piste en tout cas, je vais continuer à chercher, et si je ne trouve rien de concluant, on fera autrement…

ça avance un peu :

J’ai activé l’accès ldap avec un nouveau compte sur un serveur, en utilisant phpldapadmin (paquet yunohost)

Pour cela j’ai simplement copié le compte admin tout en haut :

dc=yunohost,dc=org (7)
—> cn=admin

en indiquant un nouveau nom (par exemple admin2) et en forçant un mot de passe (en clair)

Il faut également modifier gidNumber, uidNumber et User Name (j’ai mis également admin2)

Maintenant en local, je peux me connecter avec le compte admin2 et le mot de passe défini plus haut :

ldapsearch -v -H ldap://localhost:389 -D “cn=admin2,dc=yunohost,dc=org” -W LLL “cn=test” cn sn uid uidnumber

j’ai un retour avec une liste de tous les utilisateurs enregistrés sur yunohost

Ensuite j’ai modifié /etc/default/slapd, mettant ceci à la place :

#SLAPD_SERVICES=“ldap://127.0.0.1:389/ ldaps:/// ldapi:///”
SLAPD_SERVICES=“ldap:/// ldaps:/// ldapi:///”

Attention de faire cela en root (“sudo su”), car si on est en admin et que slapd est arrêté et ne peut redémarrer suite à une erreur, l’accès sudo d’admin ne sera plus disponible (ça m’est arrivé, heureusement j’étais encore sur l’interface admin du serveur web ce qui m’a permis de réactiver slapd)

ensuite :

service slapd restart

j’ai bien cela qui est pris en compte :

ps -aef |grep -i slap
openldap 32150 1 0 10:58 ? 00:00:00 /usr/sbin/slapd -h ldap:/// ldaps:/// ldapi:/// -g openldap -u openldap -F /etc/ldap/slapd.d

J’ai ouvert le port 389 sur le pare-feu et ensuite, avec cette commande je peux bien me connecter à distance, mais ça ne liste pas tout ce que j’avais en local :

ldapsearch -v -H ldap://serveur.ltd:389 -D “cn=admin2,dc=yunohost,dc=org” -W LLL “cn=test” cn sn uid uidnumber

# LDAPv3
# base <> (default) with scope subtree
# filter: (objectclass=*)
# requesting: LLL cn=test cn sn uid uidnumber 
#

# search result
search: 2
result: 32 No such object

# numResponses: 1