Ich versuche gerade, einen User zu erstellen, mit dem man eine PHP-Seite gegen UCS authentifizieren kann
Hier eine kleine Anleitung
Zunächst braucht man einen User, der sehr wenige Rechte hat. Dieser wird über „Domäne - LDAP-Verzeichnis - Users - Hinzufügen“ erstellt. Der Kontotyp soll „Einfaches Authentisierungskonto“ sein. Dieser User kann nur in der Domäne suchen. Ein Nutzername und ein Passwort festlegen (Passwort-History ignorieren kann man aktivieren, Passwort-Prüfungen ignorieren kann man auch aktivieren, da man ja sowieso starke Passwörter benutzt) und schon ist er fertig.
Diese kann ruhig lang und durch einen Generator erzeugt worden sein. Man braucht es nur zur Authentifizierung und muss es nur einmal eingeben.
LDAP-usernamen sind etwas kryptisch, sowie case sensitve. Deshalb sollte man sich die distingishedNames auflisten lassen und kopieren. Auf der UCS sollte man mit diesem Kommando den dn angezeigt bekommen
univentions-ldapsearch uid=<Kontenname> dn
Jetzt muss der Benutzername auch noch von außen zugänglich sein
ldapsearch -x -h <ad-server> -p 7389
Es sollte eine positive Rückmeldung kommen. Dies zeigt, dass hier ein LDAP-Server arbeitet.
Jetzt kann man den User testen:
ldapsearch -x -h <ad-server> -p 7389 -D <uid=test,dc=domain> -W
Hier muss exakt der dn von der ucs genommen werden (case sensitive).
Sollte eine positivie Rückmeldung kommen, passt alles. Sollte diese Rückmeldung negativ sein (invalid credentials) gibt es folgende Möglichkeiten
Jetzt
Sollte hier die Meldung invalid credentials kommen, kann es an selinux liegen.
getsebool httpd_can_connect_ldap httpd_can_connect_ldap --> off
Hier ist es per selinux-Boolean verboten, dass der httpd-Server auf ldap zugreifen kann. Dies löst man über
setsebool httpd_can_connect_ldap on