LDAP-sync schlägt fehl
-
Hallo,
wir haben eine AD-Anbindung in der GUI konfiguriert.
Der Test ist ok und ein login der User grundsätzlich möglich. Die user haben allerdings nach dem login keinerlei Rechte.
Dann wollten wir den LDAP-sync im Controller einrichten.
Der Aufruf von
./controller -uadmin -pPasswort -i 1 -v -m addldapdn
oder
./controller -uadmin -pPasswort -i 1 -v -m ldap sync
liefert dann immer ein
LDAP Bind failed (Invalid credentials)Es wird der richtige DC angezeigt und auch der User zur LDAP-Abfrage ist korrekt.
Wir haben es schon mit user@domain.de oder auch cn=user, ou=Gruppe,dc=domain.dc=de
Beides geht in der GUI, beides scheitert im Controller
Wir haben testweise einen neunen ldap-user angelegt und auch das Passwort modifiziert und auf Sonderzeichen verzichtetWo könnte der Fehler noch liegen?
Wir arbeiten mit i-doit 1.9.2 pro
Im log finden wir folgendes:
[2017-09-22 13:44:00 0.93153200] ERROR: Exception Trace:- File: /var/www/controller.php (line: 484)
isys_auth->is_allowed_to - File: /var/www/src/classes/auth/isys_auth.class.php (line: 319)
isys_auth->check - File: /var/www/src/classes/auth/isys_auth.class.php (line: 297)
call_user_func - File: (line: )
isys_auth_system->controllerhandler - File: /var/www/src/classes/modules/system/auth/isys_auth_system.class.php (line: 579)
Message: "Permission error: No rights to execute controller handler isys_handler_ldap."
Allerdings wird dieser Eintrag nicht mehr erneuert, wenn ein neuer Sync-versuch fehlschlägt.
- File: /var/www/controller.php (line: 484)
-
Hallo,
die Rechte sind auch korrekt gesetzt für den Nutzer, der im Controller-Aufruf angegeben ist?
Siehe Attachment.
Ciao
Sven
-
Sieht bei uns genauso aus.
-
Hallo,
die Meldung spricht ja nun von Rechten. Sind möglicherweise lokale Rechte im Dateisystem damit gemeint? Du könntest mal im i-doit-Verzeichnis folgendes ausführen:
./idoit-rights.sh unset
um die Rechte auf die mindesten Rechte zu setzen, die benötigt werden. Alternativ auch:
./idoit-rights.sh set
wobei damit mehr Rechte gesetzt werden.
Ist der Benutzer, mit dem du den Controller ausführst in der Admin-Gruppe? Aktuell braucht der nämlich noch erhöhte Rechte, um zu funktionieren.
Und noch ein Tip: Am besten im Crontab später das "-v" weglassen, da du sonst den Verbose-Mode nutzt und zu viel mitloggst. Lohnt sich nur, wenn du das irgendwohin schreibst.
Lieben Gruß
Christian -
Hallo,
hier liegen wohl zwei Probleme vor.
1. User haben nach Login keine Rechte
Normalerweise sind die User dann in der falschen Gruppe. Bei der Definition des LDAP-Servers gibt man einen Filter an. Z.B. "(memberof=CN=MEINEGRUPPE,OU=…)".
Der String MEINEGRUPPE muss dann bei einer i-doit Gruppe unter "LDAP-Gruppe (Mapping)" eingetragen werden. Der LDAP-sync spielt hier noch keine Rolle.2. LDAP-Sync geht nicht.
Den Fehler in der exception.log kann ich nicht reproduzieren (gleiche i-doit Version). Sie ist aber eindeutig: Der User hat das Recht nicht zum Ausführen des Handlers Admin sollte immer die rechte haben. welcher USer auf Betriebssystemebene fürht den Sync durch? www-data?
Den LDAP-Bind Fehler bei der Ausführung des Handlers bekomme ich wirklich nur, wenn das Passwort falsch ist. Schon einmal mit ldapsearch auf der Kommandozeile die Parameter überprüft? Der GUI traue ich nicht so richtig. -
Ich habe jetzt zum Test eine leere i-doit Trial VM genommen.
Dort klappt mit der identischen Konfig der LDAP-sync sofort.In der GUI bekomme ich einen Fehler, wenn ich DN oder das PW des Users falsch setze, insofern sollte die Konfig passen, wenn der test grün ist.
Per ldapsearch bekomme ich mit den gleichen Einstellungen ein korrektes Ergebnis. -
Was ist denn mit dem i-doit-Benutzer? Hat der Admin-Rechte? Schieb ihn doch ansonsten mal testweise in die Admin-Gruppe und probiere es erneut.
-
Meinst Du den i-doit-Benutzer mit dem ich den Controller aufrufe?
Das ist der admin, der dürfte alles können.
Wenn ich die login-Daten im Aufruf ändere, bekomme ich auch den Fehler, dass das login an der Instanz nicht klappt. -
Hi,
ist denn der Mandant mit der ID 1 richtig? Du kannst im i-doit-Verzeichnis auch mal
./tenants ls
ausführen und das überprüfen. Auf mehreren Kundenumgebungen habe ich LDAP in den letzten Tagen einrichten können, sodass ich mir ziemlich sicher bin, dass es irgendwo an der Konfiguration liegt. Du solltest in jedem Fall auch mal nachsehen, ob der Benutzer "admin" auch wirklich noch in der richtigen Gruppe ist. Nicht, dass den jemand verändert hat.
Was du auch checken solltest ist, ob es nicht vielleicht eine Konfigurationsdatei mit anderen (/falschen) Login-Daten gibt.
Vom i-doit-Root aus kannst du mit "vi" so schauen:
vi src/handler/config/isys_handler_ldap.inc.php
Lieben Gruß
Christian -
Vielen Dank für Eure Mühe und Unterstützung, letztlich habe ich die VM neu gemacht und dann lief es direkt.