Raspberry Pi: Netzwerkfreigabe mit Samba

Samba stellt ein freies Programmpaket dar, welches die Datei- und Druckerfreigabe von Windows für andere Betriebssysteme zur Verfügung stellt. Samba verwendet dazu das Server Message Block-Protokoll – oder kurz – SMB. Somit erstellen wir mit dem Raspberry Pi eine Netzwerkfreigabe, welche für alle Geräte verfügbar ist und ganz leicht verwendet werden kann. Diese Freigabe kann als sehr kostengünstige Lösung einer Netzwerkfreigabe mit Benutzersteuerung verwendet werden, um z.B. Daten sicher im eigenen Netzwerk zur Verfügung zu stellen.

 

1. Samba-Installation

Installation des Samba-Servers mit dem Befehl apt-get install.

 

2. Samba Benutzersteuerung

Nun kümmern wir uns um die einzelnen Benutzer. Wir müssen nun jeden Benutzer einzeln hinzufügen und diesen jeweils ein Passwort setzten, mit dem sie auf die Daten zugreifen können.

 

2.1 Benutzer hinzufügen

Um einen Benutzer hinzuzufügen sollte man diesen vorher als Benutzer auf dem Raspberry Pi anlegen. Am besten ist hierfür das ganze ohne eigenes Homeverzeichnis zu erstellen und auch den Login am Pi für diesen Benutzer zu deaktivieren. Somit kann er sich ausschließlich auf dem Samba Server anmelden, nicht aber über SSH am Pi.

Ich selbst gebe den Benutzern, welche für Samba verwendet werden, immer den Präfix „s_“, um später zu erkennen, welche Benutzer auf Samba zugreifen. Da Linux allerdings den Unterstrich standardmäßig nicht akzeptiert, müssen wir dem System mitteilen, dass wir dies bewusst tun.

Bei der Erstellung des Benutzers, können bei einer Abfrage persönliche Daten angegeben werden. Dies ist weder eine Pflicht, noch müssen die Daten vollständig oder echt sein, einfach mit Enter durchskippen und am Schluss mit einem „j“ bestätigen. Wenn wir den zweiten Befehl eingeben, welcher den Benutzer nun Samba hinzufügt, werden wir zuerst gebeten ein Passwort für ihn einzugeben. Dieses Passwort wird auch nachher verwendet, um nachher Zugriff auf die Daten zu bekommen.

 

2.2 Benutzerpasswort ändern

Um das Passwort eines Benutzers zu ändern, muss man nur den gleichen Befehl verwenden, mit dem man eben diesen Erstellt hat, das vorhandene Passwort wird einfach überschrieben.

 

2.3 Benutzer entfernen

Bei der Installation und Ersteinrichtung noch nicht erforderlich, kann das Entfernen eines Benutzers später wichtig werden. Auch hier muss sowohl der Samba Benutzer, als auch der Raspberry Pi Benutzer entfernt werden.

 

3. Dateifreigabe

Samba hat zwei Arten von Freigaben: die allgemeine und die persönliche Freigabe. Allgemein und Persönlich hat zunächst nichts mit der Freigabe generell zu tun, sondern mit der Art wie die Freigabe erfolgt. Bei einer allgemeinen Freigabe findet der Manuelle Eintrag in die smb.conf Datei statt, bei der persönlichen Freigabe kann man einen Befehl zur Hilfe nehmen. Generell können beide Möglichkeiten verwendet werden, sogar gleichzeitig. Man sollte lediglich darauf achten, dass man nicht die gleiche Freigabe bzw. den gleichen Freigabenamen zweimal verwendet. Deshalb sollte man sich für eine der beiden Möglichkeiten entscheiden, ich selbst bevorzuge die Freigabe via Befehl – also die persönliche Freigabe.

 

3.1 Persönliche Freigabe

Für die persönliche Freigabe verwenden wir einen Befehl und müssen nicht die Eintragung in der Datei selbst vornehmen. Die persönliche Freigabe ist allerdings auf den Raspberry Pi Benutzer festgeschrieben, weshalb wir die Freigaben mit dem gleichen Benutzer tätigen sollten, wenn wir diese nachher gesammelt und übersichtlich haben wollen. Für die Freigabe sind nun ein paar Angaben notwendig, welche nach dem Code erklärt werden.

Sharename gibt den Namen der Freigabe an. Unter diesem Namen ist die Freigabe als Ordner im Netzwerk zu finden.

/pfad/zu/ordner gibt den Pfad zu dem freizugebenden Ordner an.

„Kommentar“ gibt einen Kommentar an, welcher angezeigt wird, wenn man z.B. bei Windows mit der Maus über den Ordner hovert.

User:f gibt an, welcher User welche Recht nachher hat. So muss als erstes der Name des Users angegeben werden und dann die Freigabestufe, die dieser besitzt (d – deny – kein Zugriff; r – read – Leserechte; f – full – Lesen und Schreiben). Wenn man mehrere Benutzer angeben möchte, kann man diese mit einem Komma (keinem Lehrzeichen dazwischen) trennen. Also Beispielsweise User1:f,User2:r,User3:d bedeutet, dass User1 lesen und schreiben kann, User2 nur lesen und User3 keinen Zugriff auf die Daten hat.

guest_ok=n gibt an, ob Geräte ohne Benutzer (alle im Netzwerk) auf diese Daten zugreifen dürfen. Dabei ist wichtig, wenn man dies möchte, dass man in der smb.conf die Option usershare allow guest = y eingetragen hat.

Gespeichert wird die Freigabe unter /var/lib/samba/usershares und dort dann mit dem jeweiligen Name der Freigabe.

 

3.2 Allgemeine Freigabe

Die allgemeine Freigabe ist nicht vom Benutzer abhängig, wie die persönliche Freigabe, sondern findet in der smb.conf Datei statt. Hier findet grundsätzlich dasselbe statt, wie bei der persönlichen Freigabe, nur das wir die Freigabe manuell einträgen müssen – Und hier ist der Knackpunkt. Wenn die Konfig-Datei beschädigt ist, z.B. durch eine falsche Eingabe – kann Samba unter Umständen nicht mehr korrekt funktionieren. Deshalb sollte man immer zuerst eine Kopie anlegen, bevor man die Datei bearbeitet und nach dem Bearbeiten die Datei mit testparm noch einmal prüfen.

 

3.2.1 Sicherungskopie erstellen

Zuerst erstellen wir eine Sicherungskopie der Konfig-Datei, damit wir ein Backup einer funktionierenden Version haben.

 

3.2.2 Freigabe erstellen

Die Freigabe erfolgt nun nach folgendem Schema, wie sie auch bei der persönlichen Freigabe eingetragen steht. Diese Zeilen müssen wir an den Schluss der Konfig-Datei hängen, welche wir mithilfe des Texteditors nano bearbeiten.

Dort fügen wir folgenden Code ein und ändern die Parameter um. Wichtig ist, dass der Sharename nicht mehrfach verwendet wird.

 

3.2.3 Freigabe überprüfen

Am Schluss müssen wir unsere allgemeine Freigabe überprüfen und feststellen, ob alles richtig funktioniert hat. Dies machen wir mit dem Befehl testparm. Falls ein Fehler vorliegt, müssen wir unseren Eintrag nochmals genau unter die Lupe nehmen und den Fehler finden, damit die Freigabe funktioniert.

Bei einem erfolgreichen Durchlauf erhalten wir in der letzten Zeile „Press enter to see a dump of your service definitions“ und sehen nach der Bestätigung mit Enter unsere Freigaben. Bei einem Fehler erhalten wir in der letzten Zeile folgenden Text angezeigt: „Error loading services.“ Das bedeutet es ist ein Fehler in der Datei, welcher meist in den Zeilen davor ersichtlich wird.

 

3.3 Freigaben löschen

Um eine allgemeine Freigabe zu löschen, muss die Freigabe wieder aus der Konfigurationsdatei ausgetragen werden und der Dienst neugestartet werden. Bei der persönlichen Freigabe ist auch hier wieder ein Befehl nötig, um die Freigabe zu löschen.

 

4. Server (neu)starten

Nachdem die Änderungen an der Freigabe fertiggestellt sind, muss der Samba-Server neugestartet werden, um die Änderungen wirksam zu machen.

 

 

Damit sollte eine funktionierende Netzwerkfreigabe erstellt sein, welche sowohl für Windows, als auch für iOS, Android oder einem anderen Raspberry Pi funktioniert. Die Anmeldung findet mit dem Samba-Benutzer und dem für den Benutzer festgelegten Passwort statt.

 

 

Quellen:

https://wiki.ubuntuusers.de/Samba_Server/

https://wiki.ubuntuusers.de/Samba_Server/smb.conf/

https://wiki.ubuntuusers.de/Samba_Server/net_usershare/

https://wiki.ubuntuusers.de/Benutzer_und_Gruppen/

https://wiki.debianforum.de/Kleiner_Samba_Server

Hinterlasse einen Kommentar

avatar
  Abonnieren  
Benachrichtige mich bei