Vor ca. einer Woche habe ich mich zur Abdeckung des ständig wachsenden Speicherbedarfs für die Anschaffung einer Drobo und dem dazugehörigen DroboShare entschieden. Hauptgrund für die Alternative, welche nicht die Günstigste ist, war die Tatsache, dass ich mich um nichts kümmern muss und bei Bedarf einfach Platten nachstecken kann. Es gibt einige Lösungen am Markt die dies unterstützen, jedoch ist der laufende Upgrade durch das Ersetzen einer vorhandenen Platte schon eine Ausnahme und das bei gute Performance über das eingebaute Gigabit-Interface.
Die DroboShare ist eigentlich nicht notwendig um auf den Storage zuzugreifen, aber ich möchte kurzfristig einen Server abschaffen um zentral meine Daten zu erreichen. Die Installation der Drobo und der dazugehörigen DroboShare lief problemlos und obwohl ich die Konfiguration via Webinterface bevorzugen würde, kommt man mit dem Drobo-Dashboard auf Mac gut klar.
Aber nun zum eigentlichen Thema. Ich hatte mich nicht genauer informiert und bin einfach davon ausgegangen, dass die DroboShare die Freigabe verschiedener Verzeichnisse und fein granulierte Benutzerberechtigungen auf Diese zulässt, was jedoch genau nicht der Fall ist.
Die Oberfläche bietet hier nur die Möglichkeit einen Freigabenamen zu definieren und dann entweder für alle oder für einen Benutzer freizugeben, was mir einfach zu wenig ist. Auch die Knowledge Base gibt klar zu erkennen, dass out of the box nicht mehr möglich ist.
Natürlich würde ich mein technisches Versagen bei der Geräteauswahl hier nicht publizieren, wenn ich nicht ein Lösung gefunden hätte, welche wie nachfolgend beschrieben aussieht:
- DroboApps aktivieren
- Dropbear SSH einspielen
- Benötigte Benutzer auf der DroboShare anlegen
- Eigene SambaApp deployen und Basiseinstellungen überschreiben
Nachfolgend die notwendigen Schritte im Detail:
1. DroboApps aktivieren
Dies kann im Dashboard erfolgen und sorgt dafür, dass Apps welche in den Ordner DroboApps kopiert werden müssen, nach Neustart der DroboShare entpackt und danach gestartet werden.
2. Dropbear SSH einspielen
Nach Aktivierung der Apps und Neustart der Share ist der Ordner DroboApps vorhanden und die auf der Drobo-Website verfügbare App Dropbear SSH kann einfach in das Verzeichnis kopiert werden.
3. Benutzer anlegen
Sobald die DroboShare erneut gestartet wurde, kann man sich bequem via SSH auf der Drobo anmelden. Das Defaultpasswort “giveit2me” sollte man gleich zuerst ändern. Leider kann die vorhandene Samba-Konfiguration (/etc/smb.conf) sowie das dazugehörige Passwortfile zwar angepasst werden, alle Änderungen werden jedoch nach Neustart wieder überschrieben.
Erhalten bleiben jedoch Basiseinstellungen wie z.B. User in der /etc/passwd. Genau diese Benutzer benötigen wir für die spätere Erweiterung der Freigabefunktionalität und somit besteht der erste Schritt auf der DroboShare in der Anlage aller benötigten Benutzer. Die User-IDs sind hier wichtig, da Diese später mit der smbpasswd zusammenpassen müssen, welche wir im nächsten Schritt anlegen.
4. SambaApp deployen
Um ein Überschreiben der Einstellungen zu verhindern und die Konfiguration der Freigaben ohne spätere Konfigurationsfilemanipulation zu ermöglichen, habe ich mich dazu entschieden, eine eigene App zu erstellen. Dies ist grundsätzlich nur ein gezipptes Tar-Archive, welches ein Start- und Stopscript sowie die eigene smb.conf und das Passwortfile enthält.
Die einzelnen Dateien sehen wie folgt aus:
smb.conf (wichtig ist der Pfad zum smbpasswd-File)
[global] workgroup = WORKGROUP server string = DroboShare netbios name = Drobo socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536 local master = no encrypt passwords = yes dns proxy = no qos enable = yes level1 file extensions = avi wmv wma level2 file extensions = mpeg mpg security = user use mmap = yes use sendfile = yes max log size = 20 dns proxy = no #map to guest = bad password log file = /var/log/smb.log log level = 0 show add printer wizard = no load printers = no smb passwd file = /mnt/DroboShares/Drobo/DroboApps/samba/private/smbpasswd force user = root force group = root max stat cache size = 256 [Drobo] comment = Drobo valid users = berk path = /mnt/DroboShares/Drobo #public = yes writable = yes printable = no #ok guest = yes [music] comment = Music valid users = berk test1 test2 path = /mnt/DroboShares/Drobo/music #public = yes writable = yes printable = no #ok guest = yes
smbpasswd (wichtig ist die Übereinstimmung der IDs)
berk:501:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U ]:LCT-4b294433: test1:502:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U ]:LCT-4B277FCE: test2:503:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:fadfafdaadfafafafdaaaaafdafdafafadf:[U ]:LCT-4B277FD8:
samba-start.sh (wichtig sind hier ebenfalls die Pfadangaben und das Killen der bereits laufenden Samba-Prozesse)
#!/bin/sh killall nmbd killall smbd /usr/sbin/smbd -s /mnt/DroboShares/Drobo/DroboApps/samba/etc/smb.conf /usr/sbin/nmbd -s /mnt/DroboShares/Drobo/DroboApps/samba/etc/smb.conf
samba-stop.sh
#!/bin/sh killall nmbd killall smbd
All diese Files müssen in eine entsprechende Ordnerstruktur gepackt werden, damit der Start richtig funktioniert:
– etc
|- smb.conf
– private
|-smbpasswd
– samba-start.sh
– samba-stop.sh
Nachdem kopieren des gepackten Archives in den DroboApps-Ordner und Neustart der DroboSahre mit dem Kommando “reboot”, werden die Änderungen übernommen und die eigene Samba-Konfigurationa aktiviert.
Anhand dieses Beispiels lässt sich erkennen, was man aus dem kleinen Linuxrechner alles machen kann und ich denke nicht, dass das die letzte Trickserei mit der Kiste war.
Soweit …. Daumen hoch!