Raspberry Pi NAS – Benutzerverwaltung
Das wichtigste Konzept hinter unserem Raspberry Pi NAS ist die Benutzerverwaltung, durch diese ermöglichen wir einen gemeinsamen Speicherplatz der aber abgegrenzte Bereiche für die einzelnen Benutzer und auch allgemeine Bereiche enthält. Benutzer können sowohl private Dateien speichern auf die nur sie Zugriff haben und genauso Daten speichern auf die alle Zugriff haben. Somit dient das NAS als zentrale Datenspeicher für alle Benutzer mit allen möglichen Komfortfunktionen.
Raspberry Pi NAS – Benutzerverwaltung
Unter Linux werden neue Benutzer über das Konsolenprogramm adduser angelegt. Dabei werden standardmäßig auch home Verzeichnisse erstellt. Mit der Erstellung erhält so jeder Benutzer ein privates Verzeichnis auf dem Rechner, alle anderen sind teilweise lesbar aber nicht beschreibbar. Für das NAS wäre dieses vorgehen nicht optimal, da wir für jeden Benutzer nachträglich die Einstellungen anpassen müssten. Da wir keine weiteren Systembenutzer am Raspberry Pi NAS brauchen ändern wir deshalb die Standardparameter für die Erstellung neuer Benutzer soweit ab, dass diese bereits fertig konfiguriert erstellt werden.
Benutzerverwaltung Konfigurationsdatei
Alle Änderungen für die Benutzererstellung werden über die adduser.conf Konfigurationsdatei gemacht. Wir öffnen diese wie folgt:
sudo nano /etc/adduser.conf
In dieser Datei machen wir ein paar Änderungen. An dieser Stelle müssen wir uns überlegen, was wo auf welcher Platte liegen wird. Da ich bei meinem persönlichen NAS zwei Festplatten anschließe die unterschiedlich groß sind lege ich die Aufteilung wie folgt fest:
- /nas/storage1
das ist bei mir meine alte 30 GB Platte. Auf der Bekommen neue Benutzer ihr home Verzeichnis und dort dürfen sie private Dateien ablegen die von anderen Benutzern nicht gesehen werden. Der geringe Speicher reicht für ein paar Dokumente und private Dateien völlig aus. - /nas/storage2
auf der großen 2 TB Platte liegen die öffentlichen (im eigenen Netzwerk öffentlich) Dateien. Das sind Musik, Filme, Bilder, … alle Medien die auch von anderen Geräten wie Smartphones oder TV Geräten abspielbar sind.
Aus dieser Definition ergibt sich, dass neue Benutzer automatisch ein home Verzeichnis unter /nas/storage1 angelegt bekommen sollen. Wir ändern dazu den Wert DHOME wie folgt:
DHOME=/nas/storage
Standardmäßig hat man im eigenen home Verzeichnis alle Rechte und man kann zusätzlich auch die Dateien von anderen Benutzern sehen. Das wollen wir nicht, der Benutzer darf fremde Verzeichnisse nicht besuchen. Aus diesem Grund ändern wir die default Verzeichnisrechte von 755 auf 750:
DIR_MODE=750
Quotas (Optional)
Wenn man mit Benutzern und Speicherplatz arbeitet ist das Thema Disk Quotas immer ein interessanter Punkt. Damit kann man eine max. Größe für das home Verzeichnis eines Benutzers definieren. Das heißt der Benutzer kann nicht mehr Speicher belegen als dort definiert, damit verhindert man, dass ein böser Benutzer die ganze Platte mit seinen Daten voll müllt. Die Konfiguration funktioniert ebenfalls in der adduser.conf mit folgender Zeile:
QUOTAUSER=""
Man trägt dort den Namen eines quota users ein, der als Referenz für alle weiteren erstellten Benutzer dient. Weitere Informationen zu Quotas findet man in der Debian Dokumentation.
Benutzer anlegen
Nachdem die Konfiguration fertig ist greifen diese Einstellungen mit jedem neu erstellten Systembenutzer. Benutzer erstellt man wie folgt:
sudo adduser BENUZTERNAME
An dieser Stelle sollte man sich bereits im Voraus überlegen wer aller ein Login für das NAS bekommt. Es können später jederzeit weitere Benutzer erstellt oder gelöscht werden! Wenn man alles richtig gemacht hat findet man pro erstellten Benutzer einen Ordner unter /nas/storage1 mit dessen Benutzernamen.
Öffentliche Ordner
Wir benötigen nun einen Ordner der für alle Benutzer freigeschaltet wird. Ein öffentlicher Ordner dient dabei der gemeinsamen Nutzung von Daten, im Heim NAS wird dieser Unterordner für Filme, Musik, Fotos, … usw. enthalten. Jeder darf dort Dateien hinzufügen und löschen. In meiner Konfiguration wird dieser Speicher durch meiner größere 2 TB Festplatte unter /nas/storage2 realisiert. Sollte man nur eine Festplatte haben, dann kann man die folgenden Schritte auch unter /nas/storage1 durchführen.
Wir erstellen nun einen neuen öffentlichen Ordner mit dem Namen public:
sudo mkdir /nas/storage2/public
Der Ordner ist aktuell von den Benutzern nicht zugänglich, da er noch root gehört. Das behalten wir auch bei, jedoch ändern wir die Gruppe auf:
sudo chgrp -R users /nas/storage2/public
wir passen in der Folge noch die Rechte soweit an, dass alle Benutzer Lese- und Schreibrechte haben und die Rechte sollen sich auf die neu erstellten Unterordner vererben:
sudo chmod -R 776 /nas/storage2/public sudo chmod g+s /nas/storage2/public sudo chmod setfacl -m d:user::rwx,d:group:users:rwx /nas/storage2/public
Danach erstellen wir die Ordner für die Daten. In meinem Fall:
cd /nas/storage2/public mkdir Musik Fotos Filme
Fazit
Mit einer ordentlichen Raspberry Pi NAS Benutzerverwaltung steuert man den Zugriff auf seinen zentralen Speicher. Besonders interessant ist dabei die Trennung von privaten Daten für jeden Benutzer und ein gemeinsamer öffentlicher Speicher für alle.
Weitere Artikel dieser Artikelserie:
Danke für diesen Beitrag, habe genau das gesucht!
Hallo Werner,
bei mir kommt bei der Zeile: sudo chmod setfacl -m d:user::rwx,d:group:users:rwx /nas/storage2/public
die Fehlermeldung; chmod: Ungültige Option — m
(natürlich hab ich storage2 durch meinen Ordnernamen ersetzt)
Kannst du mir auf die Sprünge helfen, was falsch lief?
Viele Grüße
Stefan
chmod weglassen, nur setfacl nutzen