Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
anwenderwiki:owncloud:basics:benutzer_aus_ldap [2017/12/08 13:09] – Externe Bearbeitung 127.0.0.1 | anwenderwiki:owncloud:basics:benutzer_aus_ldap [2017/12/08 13:12] (aktuell) – Tobias | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> owncloud}} | ||
+ | ====== Benutzerdaten für ownCloud aus LDAP holen ====== | ||
+ | |||
+ | zur -> [[.: | ||
+ | |||
+ | Diese Vorgehensweise sollte auch für paedML5/ | ||
+ | |||
+ | |||
+ | Seit Version 6 ownCloud ist die LDAP Anbindung erneuert worden: | ||
+ | |||
+ | http:// | ||
+ | |||
+ | |||
+ | ===== Benötigtes Paket installieren ===== | ||
+ | |||
+ | (Paket ist auf linuxmusternet 6 schon installiert) | ||
+ | |||
+ | aptitude install php5-ldap | ||
+ | | ||
+ | | ||
+ | Das installierte Modul von apache nachladen lassen: | ||
+ | |||
+ | service apache2 force-reload | ||
+ | |||
+ | Liegt die OwnCloud nicht auf dem Server, muss man noch in der Datei **/ | ||
+ | < | ||
+ | by anonymous peername.ip=< | ||
+ | </ | ||
+ | |||
+ | und danach der slapd neu gestartet werden | ||
+ | < | ||
+ | service slapd restart | ||
+ | </ | ||
+ | |||
+ | ===== Konfiguration im WEB-GUI ===== | ||
+ | |||
+ | |||
+ | Nach Anmeldung am WebGUI von ownCloud als ownCloud-Administrator ('' | ||
+ | |||
+ | ==== LDAP Backend aktivieren ==== | ||
+ | |||
+ | |||
+ | * Zusätzliche App zur LDAP-Anbindung installieren: | ||
+ | * Auf '' | ||
+ | * '' | ||
+ | * Im Menü rechts oben --> Administrator finden sich die Einstellungen für dieses Backend | ||
+ | |||
+ | ==== Konfiguration des LDAP Backends ==== | ||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | Dieser Reiter muss korrekt konfiguriert sein, damit die weiteren Reiter funktionieren. | ||
+ | |||
+ | * Host: IP des Schulservers angeben (IP evtl. anpassen)< | ||
+ | * In die Zeile darunter klicken (Benutzer-DN): | ||
+ | * Benutzer-DN: | ||
+ | * Passwort: bleibt leer, trotzdem reinklicken | ||
+ | * BaseDN wird nicht automatisch detektiert, also manuell eintragen (anpassen): < | ||
+ | * Klick auf '' | ||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | Welcher User dürfen sich in ownCloud anmelden? | ||
+ | |||
+ | * nix machen und abwarten (ownCloud kontaktiert den LDAP Server und sucht nach usern) | ||
+ | * Als Objekt-Klasse wird gefunden: inetOrgPerson | ||
+ | * Umstellen auf: '' | ||
+ | * '' | ||
+ | * Es sollten n>0 Benutzer gefunden werden | ||
+ | * Klick auf '' | ||
+ | * Evtl. nochmal '' | ||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | Welches Attribut ist als Login zulässig? | ||
+ | |||
+ | * Haken bei LDAP-Benutzername | ||
+ | * Klick auf '' | ||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | | ||
+ | * Nur diese Objekt-Klassen: | ||
+ | * sonst nix ändern | ||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | Die meisten Angaben werden automatisch richtig gesetzt | ||
+ | |||
+ | * Bereich '' | ||
+ | * Haken bei '' | ||
+ | * '' | ||
+ | * sonst alles leer | ||
+ | * Bereich '' | ||
+ | * Assoziation zwischen Gruppe und Benutzer: '' | ||
+ | * Bereich '' | ||
+ | * nix ändern | ||
+ | |||
+ | |||
+ | === Reiter '' | ||
+ | |||
+ | * vorerst nix machen | ||
+ | * alles leer | ||
+ | * Nach Klick auf Knopf Testkonfiguration sollte erscheinen: < | ||
+ | |||
+ | === Benutzer mit ihrem Loginnamen verwenden statt UUID === | ||
+ | |||
+ | < | ||
+ | |||
+ | OwnCloud kann Benutzer aus mehreren LDAP-Server nutzen. Da sich dabei Doppelungen im Benutzernamen ergeben können, wird für jeden ownCloud-Benutzer-Account eine eindeutige UUID erzeugt, die allerdings wenig aussagekräftig ist wie z.B.: | ||
+ | |||
+ | < | ||
+ | |||
+ | Die Daten dieses Users würden dann in folgendem Verzeichnis gespeichert: | ||
+ | |||
+ | Wird nur an einen einzigen LDAP-Server angebunden (der linuxmuster.net Schulserver), | ||
+ | |||
+ | Zur Umstelung von UUID auf Loginnamen geht man so vor: | ||
+ | |||
+ | * '' | ||
+ | * Bisher erzeugte Loginnamen/ | ||
+ | * Lösche LDAP-Benutzernamenzuordnung | ||
+ | * Lösche LDAP-Gruppennamenzuordnung | ||
+ | * Interner Benutzername: | ||
+ | * UUID-Attribute für Benutzer: '' | ||
+ | * UUID-Attribute für Gruppen '' | ||
+ | * Klick auf speichern | ||
+ | |||
+ | |||
+ | Nach erfolgreicher Konfiguration sieht die Benutzerliste von ownCloud z.B. so aus: | ||
+ | |||
+ | |||
+ | {{ .: | ||
+ | |||
+ | Zur Kontrolle sollte man prüfen: | ||
+ | |||
+ | * Als Benutzername erscheint der Loginname/ | ||
+ | * Vollständiger Name ist: '' | ||
+ | * Als Gruppen erscheinen ALLE Gruppen, in denen der jeweilige User ist. | ||
+ | * Testweise einen Benutzer anmelden | ||
+ | * Ist er in der richtigen Gruppe () | ||
+ | |||
+ | ==== Optimieren des LDAP Backends ==== | ||
+ | |||
+ | |||
+ | === LDAP-Abfragen beschleunigen === | ||
+ | |||
+ | Reiter '' | ||
+ | |||
+ | * Basis-Benutzerbaum: | ||
+ | * Basis-Gruppenbaum: | ||
+ | |||
+ | |||
+ | === LDAP-Abfrage Cache verlängern | ||
+ | |||
+ | Reiter '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | === Umstellen auf ldaps im Reiter '' | ||
+ | |||
+ | Bei Bedarf kann im Reiter '' | ||
+ | |||
+ | < | ||
+ | |||
+ | und der Port entweder selbst suchen lassen oder auf '' | ||
+ | |||
+ | |||
+ | === Nochmal von vorne beginnen === | ||
+ | |||
+ | Hat man sich vergeigt, beginnt man so am besten von vorne: | ||
+ | |||
+ | - Alle Verbindungen beenden, User ausloggen | ||
+ | - Bisher erzeugte Loginnamen/ | ||
+ | * Lösche LDAP-Benutzernamenzuordnung | ||
+ | * Lösche LDAP-Gruppennamenzuordnung | ||
+ | - Reiter '' | ||
+ | |||
+ | Nun kann man neu loslegen. | ||
+ | |||
+ | ==== Anmerkungen ===== | ||
+ | |||
+ | * Ist owncloud auf dem linuxmusternet6 Server installiert, | ||
+ | |||
+ | |||
+ | |||
+ | ==== Probleme die noch zu lösen sind==== | ||
+ | |||
+ | * Es sollten nur Mitglieder des Projekts '' | ||
+ | * In der Benutzerauflistung erscheinen NICHT die Gruppe aus dem LDAP Server (sollte aber so sein, um nicht eine weitere Gruppenverwaltung aufzuziehen) | ||
+ | * Über ldaps port 636 geht es nicht | ||
+ | * Konfigurations-Änderungen werden nicht sofort erkannt (Erst wenn die neuen Werte in mysql stehen) | ||
+ | |||
+ | |||
+ | |||
+ | ===== Hinweise zur gesicherten Verbindung mit SSL ===== | ||
+ | |||
+ | |||
+ | |||
+ | Damit das klappen kann, muss man jedoch den LDAP-Server so konfigurieren, | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | root@owncloud: | ||
+ | # | ||
+ | # LDAP Defaults | ||
+ | # | ||
+ | | ||
+ | # See ldap.conf(5) for details | ||
+ | # This file should be world readable but not world writable. | ||
+ | | ||
+ | # | ||
+ | # | ||
+ | | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | | ||
+ | # TLS certificates (needed for GnuTLS) | ||
+ | # AUSKOMMENTIEREN! | ||
+ | # | ||
+ | # | ||
+ | | ||
+ | # REINSCHREIBEN! | ||
+ | PORT 636 | ||
+ | TLS_REQCERT | ||
+ | |||
+ | |||
+ | Prüfen kann man das mit dem folgenden Kommando auf der Kommandozeile: | ||
+ | |||
+ | | ||
+ | |||
+ | dabei muss die Nutzerliste des Servers ausgegeben werden. Solange das nicht geht, muss man die OC gar nicht weiter konfigurieren. | ||
+ | |||
+ | Es ist unbedingt empfehlenswert, | ||
+ | |||
+ | {{ .: | ||
+ | ===== Wenns nicht tut ===== | ||
+ | |||
+ | ====BASEDN ermitteln==== | ||
+ | |||
+ | Ermitteln Sie auf dem Schulserver die basedn wie folgt: | ||
+ | |||
+ | # grep basedn / | ||
+ | |||
+ | ====Auf dem ownCloud-Server den LDAP Zugriff mit Konsolentools prüfen==== | ||
+ | |||
+ | # aptitude install ldap-utils | ||
+ | |||
+ | Dann unverschlüsselten Zugriff testen (IP und DN anpassen): | ||
+ | |||
+ | # ldapsearch -x -H ldap:// | ||
+ | |||
+ | |||
+ | Dann sollte der komplette LDAP-Baum durch die Konsole rauschen. | ||
+ | |||
+ | Danach Zugang verschlüsselt OHNE Zertifikat testen: | ||
+ | |||
+ | # LDAPTLS_REQCERT=never ldapsearch -x -H ldaps:// | ||
+ | | ||
+ | < | ||
+ | | ||
+ | Und schließlich verschlüsselter Zugang MIT Zertifikat testen: | ||
+ | |||
+ | # ldapsearch -x -H ldaps:// | ||
+ | |||
+ | ====== Technische Anmerkungen ====== | ||
+ | |||
+ | ===== LDAP Suchfilter ===== | ||
+ | |||
+ | In den Reitern '' | ||
+ | |||
+ | |||
+ | Beispiel eines '' | ||
+ | |||
+ | (& | ||
+ | |||
+ | Dieser Filter beschränkt den Zugriff auf ownCloud auf die 3 User '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Speicherung der LDAP Anbindung ===== | ||
+ | |||
+ | Die LDAP-Anbindungsdaten werden in der mysql-Datenbank gespeichert: | ||
+ | |||
+ | Sie können abgerufen werden mit: | ||
+ | |||
+ | use owncloud; | ||
+ | mysql> select * from oc_appconfig where appid=' | ||
+ | |||
+ | oder gedumped werden mit (muster mit Passwort für '' | ||
+ | |||
+ | mysqldump --extended-insert=0 -u root -pmuster owncloud --tables oc_appconfig --where=" | ||
+ | |||
+ | Wiedereingespielt werden kann der Dump mit dem Befehl (ungetestet): | ||
+ | |||
+ | mysql -u root -pserver owncloud < working_config | ||
+ | |||
+ | |||
+ | Log der Datenbankänderungen: | ||
+ | |||
+ | [[.: |