Wir setzen in unserem Heimnetzwerk verschiedene Netzwerkfestplatten vom Typ DS-209 von Synology ein, um auch größere Datenmengen ohne großen Aufwand austauschen zu können. Der eigentliche Austausch läuft dabei dann über Unison in einer Stern Topologie. Das bedeutet, dass es einen zentralen Linux Server gibt, der nacheinander alle NAS-Boxen synchronisiert, um so auf allen den gleichen Dateibestand sicherzustellen. Das funktioniert auch ziemlich gut.
Kompliziert wird es erst, wenn man nun einen Domänencontroller mit Samba verwendet, um für die Windows Rechner ein einheitliches Umfeld zu schaffen. Nach einigem probieren funktioniert es wirklich, dass die NAS-Boxen die Benutzer des Domänencontrollers verwenden können. Nur: Windows Benutzer unterschieden sich grundlegend von Unix Benutzern. Unter Windows wird ein »Secure Identifier« (SID) verwendet, während Unix Benutzer-IDs (uid) und Gruppen-IDs (gid) verwendet.
Nun, worauf will ich hinaus? Greift ein Benutzer auf eine NAS Box ein Domänenbenutzer zu, wird vom Samba Server nach einem Schema eine Benutzer- und eine Gruppen-ID generiert. Greift der Benutzer auf mehrere Boxen zu, werden diese IDs jeweils auf mehreren Boxen eigenständig generiert. Nur – die Synology Geräte unterstützen nur die einfachste Methode dieser ID Generierung (Details hier), so dass ein Benutzer auf verschiedenen Netzwerkfestplatten verschiedene Benutzer-IDs bekommt. Auf unseren Linux Servern kann das Problem nicht auftreten, da diese trotz Domänenmitgliedschaft gegen einen gemeinsamen LDAP Server authentifizieren.
Das wird zum Problem, wenn man wie erwähnt Dateien über Tools wir rsync oder unison synchronisieren möchte. Durch die potentiell verschiedenen IDs gehören Dateien dadurch nach der Synchronisation natürlich auch potentiell verschiedenen Benutzern. Auch über den Namen selbst ist der Sync nicht möglich, da dieser auf der NAS-Box »DOMÄNE\user« ist, auf den Linux Rechner aber nur »user« verwendet wird.
Momentan gibt es zwei Wege, dieses Problem zu lösen:
- Man kann erstens den den Zugriff in der Samba-Konfiguration auf bestimmte Gruppen oder Benutzer pro Freigabe einzuschränken, und die Besitzer/Gruppenzugehörigkeit einfach nicht zu synchronisieren. Die feingranulare Steuerung auf Linux-Ebene über die Zugriffsrechte ist dann jedoch nicht mehr möglich. Das kann Probleme bedeuten, wenn der Zugang über FTP möglich ist.
- Man fügt für jeden Benutzer einen Eintrag zu
/etc/passwd
mit der korrekten Benutzer-ID und für jede Gruppe einen Eintrag zu/etc/group
hinzu. Dadurch wird gewährleistet, dass WinBind keine IDs generieren muss. Die Synchronisation kann dann auf Basis der numerischen IDs erfolgen.Das ist die momentan von mir favorisierte Lösung, allerdings sollte man darauf achten, dass die Einträge angelegt werden, bevor die entsprechenden Benutzer erstmalig auf die NAS Box zugreifen
Es hat viele Vorteile, wenn man kleine, vorkonfigurierte Netzwerkfestplatten verwenden kann. Sobald es jedoch um wirklich abgefahrene Probleme geht, fährt man mit einer echten Linux Installation eindeutig besser, da man viel mehr Einfluss auf die Konfiguration und auf die verwendete Software nehmen kann.
Ein Gedanke zu „Synology DiskStation – Oder: Von den Grenzen von Netzwerkfestplatten“