Directory Server Nextcloud mit Active Directory verbinden?

Status
Für weitere Antworten geschlossen.

zaphod_b

Benutzer
Mitglied seit
20. Nov 2011
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich tüftle gerade an meiner Syno-Konfiguration. Jetzt wollte ich die installierte Nextcloud mit dem Active-Directory-Server zwecks zentraler Nutzerverwaltung verbinden.

Es gibt auch eine Anleitung dazu, wie das auf einer DS funktionieren soll, und zwar unter:

http://www.107er.net/hitech/2017/10/nextcloud-mit-synology-active-directory-verbinden/

Scheinbar hat das Ganze dort geklappt.

Bei mir tut es leider nicht und ich frage mich, weshalb? Der AD-Server läuft und funktioniert bei mir korrekt. Die Nextcloud läuft und funktioniert korrekt ohne die AD-Verbindung.

Wenn ich jetzt allerdings die unter "Einstellungen" -> "Server" in dem o. g. Beitrag genannten Daten erfasse (klar, mit den Daten meiner DS...), komme ich nicht weiter.
Nextcloud meckert hier schon herum -> die "Base DN" kann nicht gefunden werden bzw. ist (bei manuellem Eintrag) falsch.

Wenn ich das richtig verstehe, sollte diese doch, wenn z. B. die AD-Domäne "ABCD.LOCAL" heißt, "DC=ABCD,DC=LOCAL" sein, oder? Scheinbar passt das aber nicht...

Was läuft hier falsch? Der Server selbst bzw. der Port wird korrekt von der Nextcloud gefunden...

Vielleicht kann das mal jemand, der damit Erfahrung hat und/oder AD bzw. LDAP versteht und/oder das Gleiche tun möchte mit mir durchexerzieren?

Ah ja, noch ein paar Systeminfos, falls das hilfreich ist: Ist eine DS718+ mit aktuellstem DSM 6.1.4-15217 Update 1

Danke und Gruß

Zap
 

obimichael

Benutzer
Mitglied seit
28. Nov 2014
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo!
Was steht in den Logs für ein Fehler?
Hast Du das Problem mit „Transport Encryption Required“ gelöst?
Lg
 

zaphod_b

Benutzer
Mitglied seit
20. Nov 2011
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Hi,

das ist eine gute Frage... In welchen Logs genau muss ich denn da nachschauen und wo finde ich die?

Mir sind zwei Stellen bekannt, an denen ich aber bisher noch nicht fündig wurde: für die syno selber -> /var/log und für die nextcloud -> /nextclouddatenordner/ -> zweiterer ist bei mir übrigens "ausgelagert", kann das etwas damit zu tun haben?

Danke und Gruß

Zap
 

zaphod_b

Benutzer
Mitglied seit
20. Nov 2011
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Gelöst: Verbindung Nextcloud -> Synology Active Directory

Hallo zusammen,

tatsächlich ist mir die Verbindung soeben geglückt. Zur Dokumentation werde ich hier niederschreiben, was ich getan und eingestellt habe.

Zunächst ein paar Infos zum Logging-Thema von oben:

Die beiden von genannten Ordner für die Log-Platzierung sind korrekt. Es handelt sich um eine Einstellungsfrage, was man wo sieht.

Um verwertbare informationen bezüglich des LDAP-Verhaltens von NC zu bekommen, hat bei mir geholfen, das Loglevel von NC erhöhen und die Logausgabe auf die /var/log/messages umzubiegen.

Dazu editiert man die config.php von NC - diese liegt auf meiner Syno unter /volume1/web/[NEXTCLOUDORDNER]/config/

In der config.php habe ich folgendes eingetragen:

Rich (BBCode):
  'log_type' => 'syslog',
  'logfile' => '',
  'loglevel' => '0',
  'syslog_tag' => 'Nextcloud',

Mit diesen Einstellungen schreibt NC so gut wie alles, was passiert in die /var/log/messages. Dort kann man dann prima fürs Debugging nachsehen. Wie man das macht, findet sich an vielen Stellen im Netz.

Hinterher sollte man dann nur das Loglevel wieder zurücksetzen, da die 'messages'-Datei sonst zu sehr vollgemüllt wird. Standard-Loglevel für NC ist '3'.

Einstellungen in Nextcloud:

Bei mir lief es leicht anders als in dem Blogeintrag beschrieben, woran das final lag, vermag ich nicht einzuschätzen, vermutlich eine Sache der jeweiligen DS und von Programm- und DSM-Versionen.

Zunächst hier ein paar Hinweise:

1) Ich denke, die Syno bzw. der AD-Server braucht im Zweifel lieber mal einen Neustart mehr als weniger. Danach sollte man aber immer etwas warten, damit alles sauber in Gang gerät.

2) Wenn man etwas an den AD-Benutzern im Server ändert, unbedingt unter "Systemsteuerung" -> "Domain/LDAP" -> Tabs "Domainbenutzer" bzw. "Domaingruppe" IMMER auf den Button "Domain-Daten aktualisieren" klicken! Damit werden die Benutzerdaten im LDAP-Speicher aktualisiert. Das Ganze scheint aber ebenfalls etwas Zeit zu brauchen, bis es vollständig zur Verfügung steht, also im Zweifel danach etwas warten.

3) Bei mir war es nicht erforderlich (ich hatte keine entsprechende Fehlermeldung), dass ich wie Blogeintrag beschrieben die 'smb.conf' unter /etc/samba/ anpasse, d. h. der Eintrag "ldap server require strong auth=no" konnte weggelassen werden.

4) Ich habe keine separate Nutzergruppe für Nextcloud in der Domain angelegt, sondern verwende einfach die normalen Benutzer der Domain. Das Ganze hat den Hintergrund, dass ich irgendwo gelesen habe, Nextcloud hat Probleme bei der Ermittlung von Benutzern, die mehr als einer Nutzergruppe angehören. Die Einstellung, die das beheben soll, limitiert die Anzahl der verwendbare User aus der AD-Domain und das wollte ich nicht.

5) Um Daten und Werte der AD-Domäne herauszufinden, hilft am Besten der Active Directory Explorer, oder auch AdExplorer von Sysinternals/Microsoft -> Klick (muss nicht instelliert werden, nur entzippen, starten, einloggen)

6) Ich lege folgendes Beispiel für die gezeigten Daten zu Grunde:


  • Hostname der DS: 'Diskstation' -> Ihr erreicht Euren DSM im Heimnetz also z. B. unter http://Diskstation:5000 oder https://Diskstation:5001
  • Domäne der DS: 'DOMAIN.LOCAL' -> Der Name der Domäne, wie sie im AD-Server eingerichtet ist.

7) Um Problemen vorzubeugen, bitte tragt im AD-Benutzer auf der DS im Feld "Vollständiger Name" den Namen Eurer Benutzer ein! Das Feld findet man im DSM unter "Active Directory Server" -> "Benutzer und Computer" -> [Domäne] -> "Users" -> Benutzer wählen -> Rechtsklick, "Bearbeiten" -> Tab "Allgemein"

Jetzt zu den Einstellungen in der Nextcloud, hier öffnet man NC mit deren Administrator-account und geht nach "Verwaltung" -> "LDAP/AD-Integration":

Eintragungen im Tab "Server":

Host: ldap://Diskstation.Domain.Local
Port: 389 -> Dieser wird üblicherweise gefunden, wenn man den korrekten Host erfasst hat und danach auf "Port ermitteln" klickt
Benutzer-DN: Domain\[Benutzername] -> Scheinbar kann man bei Synology den ganzen Kram mit DC=/DN= ... vergessen. Ich verwende übrigens den Domainadministrator als Benutzer für die Verbindung.
Passwort: Passwort -> Also bitteschön da NICHT 'Passwort' reinschreiben...
wink.png
Es handelt sich selbstredend um das Domainpasswort des für die Verbindung zu verwendenden Users.

Mit den Daten konnte ich dann auf den Button "Base-DN ermitteln" klicken und NC spuckte mir direkt folgende Werte aus (d.h. NC konnte nun tatsächlich die Base-DN ermitteln! Juhuuu!
cool.png
):

Base DN: dc=domain,dc=local

Laut Blogeintrag sollte man den Haken im Feld "LDAP-Filter manuell eingeben ..." setzen und dann die Queries in den nächsten Tabs von Hand eingeben. Ich habe es - versehentlich - nicht gemacht, was sich als gut erwiesen hat.

Denn interessanterweise konnte ich dann nämlich in den Tabs "Benutzer", "Anmeldeattribute" und "Gruppen" über die dort angebotenen Auswahlfelder die richtigen Felder im LDAP-Verzeichnis wählen und so fast automatisch die richtigen Queries erzeugen. Diese werden dann in das jeweilige Feld eingetragen. Danach habe ich auch den Haken bei "LDAP-Filter manuell eingeben ..." gesetzt, die Queries sind dabei stehengeblieben.

Bei mir stellt sich das dann wie folgt dar:

Eintragungen im Tab "Benutzer":

Rich (BBCode):
(&(|(objectclass=user))(|(|(memberof=CN=Domain Users,CN=Users,DC=domain,DC=local)(primaryGroupID=XYZ))))

Eintragungen im Tab "Anmeldeattribute":

Rich (BBCode):
(&(&(|(objectclass=user))(|(|(memberof=CN=Domain   Users,CN=Users,DC=domain,DC=local)(primaryGroupID=XYZ))))(|(samaccountname=%uid)(|(memberOf=%uid))))

Eintragungen im Tab "Gruppen":

Rich (BBCode):
(&(|(objectclass=group))(|(cn=Domain Users)))

Noch zwei Hinweise hierzu:

1) "Domain Users" aus dem Beispiel entspricht der Benutzergruppe aus Eurer Domain, die auf die NC zugreifen können soll. Bei mir sind das einfach die normalen Domänenbenutzer.

2) Die "primaryGroupID" ('XYZ') aus den Queries ist die numerische ID der primären Benutzergruppe eines Users in der AD-Domäne. Diese ist vermutlich bei jedem anders und sollte vorher am besten über den AdExplorer ausgelesen werden. Dazu ruft man darin einfach den jeweiligen Nutzer auf und sucht im Rechten Bildschirmteil das "primaryGroupID"-Feld. Die Nummer dahinter ist die ID. Bei mir ist sie dreistellig, im Blogeintrag war sie vierstellig.

Hoffe, ich konnte ein wenig helfen.

Gruß

Zap
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat