Raspberry Pi Samba
In diesem Artikel zeige ich euch wie ihr am Raspberry Pi Samba einrichtet und betreibt. Damit wird der Pi zum Fileserver oder NAS. In den letzten Artikeln habe ich euch ja bereits gezeigt wie man eine USB Festplatte verwendet und wie ihr die Festplatte direkt am Pi einrichten könnt. Mit Samba gebt ihr Dateien in bestimmten Ordnern im gemeinsamen Netzwerk frei. Ihr könnt sogar Zugriffsberechtigungen definieren.
Raspberry Pi Samba
Der SMB, Samba Dienst oder Samba Server auf Linux Systemen ist ein sehr mächtiger Dienst der bereits seit Jahrzehnten verwendet wird. Er ist wohl ein wichtiger Grund, warum in vielen Firmen ein Linux Fileserver steht. Wir können uns das auch für private Projekte zunutze machen. Im folgenden werden wir zwei Ordner der Festplatte freigeben:
- einen allgemeinen Ordner mit Filme und Bilder auf den jeder im gemeinsamen Netzwerk Zugriff hat
- einen Passwort geschützten Ordner für vertrauliche Dateien
diese Ordner können von allen Geräte im Netzwerk benutzt werden, egal ob Android, iOS, Linux, Mac OSX, Windows, oder etwas anderes als Betriebssystem verwendet wird.
Installation
Der erste Schritt besteht in der Installation der notwendigen Software. Samba ist auf dem Raspberry Pi Image standardmäßig nicht installiert, deshalb müssen wir uns das Paket und dessen Abhängigkeiten erst installieren.
sudo apt-get install samba
Das Paket hat jede Menge Abhängigkeiten, die Installation dauert etwas.
Konfiguration
Die gesamte Konfiguration von Samba beziehungsweise dem SMB Dienst funktioniert über dessen Konfigurationsdatei /etc/samba/smb.conf.
Option 1: allgemeinen Ordner freigeben
Im folgenden zeige ich euch wie ihr einen Ordner auf der Festplatte mit Samba für alle Geräte im Netzwerk freigebt. In diesem öffentlich zugänglichen Ordner lege ich meine Mediendaten ab. Musik und Filme können so auf dem Fernseher oder am Handy abgespielt werden. Wir öffnen nun die Konfigurationsdatei:
sudo nano /etc/samba/smb.conf
Folgende Zeilen fügen wir nun am Ende der Konfigurationsdatei hinzu:
[MusikundFilme] path = /media/devblognet/Daten writeable = no public = yes guest ok = yes guest only = yes guest account = nobody browsable = yes
Danach brauchen wir den Dienst nur noch neu starten und wir können auf die Daten im Ordner zugreifen:
sudo /etc/init.d/samba restart
Über meine AndSMB auf meinem Android Handy sehe ich nun den freigegebenen Ordner (ich habe bei der Konfiguration lediglich den Hostnamen vom Raspberry Pi eingetragen und bei den Zugangsdaten Anonym ausewählt).
Die Konfiguration funktioniert wie folgt:
- path: das ist der Pfad zum Ordner. In diesem Fall gebe ich den Ordner auf der hinzugefügten Festplatte an, die wir im letzten Artikel unter unserem selbst definierten Ordner gemounted haben.
- writeable = no
da meine Mediendaten nur zum Abspielen bzw. anhören gedacht sind möchte ich nicht, dass Leute im Netzwerk diese ändern können. Stellt man den Parameter auf yes, dann kann man über die Freigabe auch neue Daten hochladen bzw. alte Umbenennen oder sogar löschen. - public = yes beziehungsweise guest ok = yes
damit schaltet man den Zugang ohne Authentifizierung frei - guest only = yes und guest account = nobody
der Ordner ist nur über den Gastzugang verfügbar und noch dazu für jeden. Genau das was wir wollten. - browsable = yes
die Besucher sollen den Ordner durchsuchen können, das heißt auch auf Unterordner zugreifen können.
Falls ihr die gemeinsame Freigabe von Filme und Musik auf zwei Ordner aufteilen wollt, dann braucht ihr unter den Konfiguration eine zweite mit einem anderen Ordner erstellen und den SMB Dienst neu starten. Probiert es doch einfach mal aus!
Option 2: Passwort geschützter Ordner
Im folgenden zeige ich euch nun wie ihr einen Ordner freigebt, bei dem man sich über ein Login zuerst anmelden muss. Damit ist es recht einfach möglich auf einem gemeinsam genutzten Speicher private Dateien abzulegen, auf die man nur selber (und der Admin am Fileserver) Zugriff hat.
Wir fügen dazu in der Konfigurationsdatei folgende Freigabe hinzu:
[Geheim] path = /media/devblognet/MeineDaten available = yes guest ok = no browsable = yes writeable = no valid users = werner
Wie ihr seht, habe ich bei der Konfiguration einen Benutzer mit valid users hinzugefügt. Nur diesem Benutzer ist der Zugriff auf den Ordner gestattet. Diesen Benutzer müssen wir im System auch noch anmelden. Dazu erstellen wir einen neuen Linux Benutzer, der sich am System nicht anmelden kann (–disable-login):
sudo adduser --disabled-login werner
Dem Benutzer weisen wir noch ein Samba Passwort zu, mit dem er sich für den Ordner authentifizieren muss:
sudo smbpasswd -a werner
Wir müssen jetzt nur den Dienst neu starten:
sudo /etc/init.d/samba restart
und schon steht uns ein Ordner mit Zugriffskontrolle zur Verfügung. Ich habe den Zugriff wieder mit dem Programm AndSMB auf dem Android Smartphone getestet.
Fazit
Am Raspberry Pi Samba einzurichten und zu verwenden ist recht einfach. Man sehr schnell Ordner freigeben und dabei sogar noch bestimmen wer auf welche Daten Zugriff hat. Der SMB Dienst ist schon sehr lange ein wichtiger Linux Systemdienst mit dem man einen Speicherplatz im gemeinsam verwendeten Netzwerk zentral verwalten kann. In Firmen sind das meist Linux Fileserver, im Heim Bereich kleinere kommerzielle Systeme, die NAS genannt werden.
Welche Erfahrungen habe ihr mit Raspberry Pi Samba gemacht? Welche Daten gebt ihr so im Netzwerk frei?
Super Artikel.
Habe mir jetzt Kodi auf dem Fire TV Stick installiert und brauche dazu ein NAS System um meine eigene Mediathek zu haben.
Da kommt mir dieser Artikel genau zur richtigen Zeit 😉
Sehr gut! Ja mit Kodi funktioniert das ganze wunderbar.
Was ist das für ein erster Satz amk?
Danke für den Hinweis, wurde angepasst. Da war ich wohl schon etwas müde nach dem Konfigurieren von Samba…