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: | ||
| + | |||
| + | [[.: | ||