Raspberry Pi – NAS Server / Datei-Server einrichten mit Samba

Der Raspberry Pi wird als Datei-Server Beziehungsweise NAS-Server eingerichtet. Diese Anleitung führt sie Schritt für Schritt durch die Installation von Samba und die Einrichtung eines Datei-Server. Als Speichermedium dient eine USB-Festplatte am Raspberry Pi.

In dieser Anleitung geht es um die Einrichtung eines NAS- bzw. Datei-Server mit dem Raspberry Pi. Die Dateien sollen auf einer externen USB-Festplatte gelagert werden. Diese wird an den Raspberry angeschlossen. Der Zugriff erfolgt dann über einen Computer. Des weiteren wird die USB-Festplatte als Laufwerk im Datei-Explorer eingebunden. So steht sie ihnen immer zur Verfügung. Als Betriebssystem des Pi wird Raspbian Stretch verwendet.

raspberry pi installieren einrichten windows linux raspbian remotedesktop datei-server

Vorbereitung

In dieser Anleitung wird mit dem aktuellen Raspbian Stretch gearbeitet. Bei älteren Versionen von Raspbian können diverse Komponenten fehlen, die sie dann noch nachinstallieren müssen.

Zu Beginn aktualisieren wir erst einmal den Raspberry Pi. Dazu geben Sie folgende Befehle in das Terminal ein. Der erste Befehl aktualisiert die Programm-Bibliothek und der zweite aktualisiert das Betriebssystem des Pi.

sudo apt update 
sudo apt upgrade

Samba Server installieren

Öffnen Sie das Terminal des Rasberry Pi und geben zur Installation folgenden Befehl ein. Bestätigen Sie die Installationsabfrage mit J. Nach Abschluss der Installation fahren Sie mit der Konfiguration vom Datei-Server fort.

sudo apt-get install samba samba-common smbclient

Samba als Datei-Server konfigurieren

Zuerst prüfen Sie mit diesen Befehlen, ob der Samba Server läuft. Geben die Befehle beide active (running) zurück, ist alles in Ordnung und der Server läuft.

zurück, ist alles in Ordnung und der Server läuft.

sudo service smbd status 
sudo service nmbd status

Die mitgelieferte Konfigurationsdatei ist zu Umfangreich für unsere Zwecke. Deshalb wird sie mit folgenden Befehlen einfach umbenannt und neu angelegt.

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf_alt
sudo nano /etc/samba/smb.conf 

Diese Befehle schreiben Sie jetzt in den Editor der sich automatisch geöffnet hat. Erläuterung der Konfiguration: workgroup gibt die Netzwerkgruppe an (wird aber bei neueren Systemen nicht berücksichtigt). security gibt an, dass nur Benutzer Zugriff haben, die auch auf dem Server eingerichtet wurden. encrypt passwort bewirkt, dass die Passwörter verschlüsselt übertragen werden.

[global]
workgroup = WORKGROUP
security = user
encrypt passwords = yes

Speichern Sie die Konfiguration und Schließen den Editor mit der Tastenkombination STRG + O, Enter, STRG + X. Testen Sie die Konfiguration durch Eingabe von:

testparm

Keine Fehlermeldung? Dann ist alles in Ordnung.

Mit folgendem Befehl können Sie noch einmal überprüfen, ob das Dateisystem (NTFS…) von ihrem Raspberry Pi unterstützt wird. Formatieren Sie die Festplatte am besten im NTFS Format. Mit Fat-16, Fat-32 oder exFat kann Raspbian nicht arbeiten.

ls -1 /lib/modules/$(uname -r)/kernel/fs

Als nächstes Überprüfen Sie ob die Freigaben überhaupt erreichbar sind. Als IP-Adresse geben sie die ihres Pis ein. Mit ifconfig finden sie heraus welche IP-Adresse ihr Pi hat. Bei Erfolg steht im Terminal Anonymous login successful. Beim zweiten Befehl ist raspberrypi der Hostname. Haben Sie diesen geändert, tragen sie ihren eigenen Hostnamen ein.

smbclient -N -L //192.168...
smbclient -N -L raspberrypi

In diesem Schritt prüfen wir, ob sich ein Samba-Nutzer anmelden kann. Als IP-Adresse geben sie hier auch wieder ihre eigene ein. Werden Sie nach einem Passwort, geben Sie hier das Passwort vom Samba-Nutzer ein. Da der Benutzer „sambapi“ aber noch nicht in der Samba-Datenbank hinterlegt ist, werden Sie zu diesem Zeitpunkt eine Fehlermeldung erhalten. Der Samba-Server nutzt eigene Datenbanken für die Benutzernamen. Diese werden im nächsten Schritt eingerichtet.

smbclient -U sambapi -L //192.168...

Freigaben einrichten

Jetzt Setzen Sie die Freigabe für das mount-Point Verzeichnis mit folgenden Befehlen. Sambapi ist in diesem Fall ihr Nutzername und muss sowohl im Raspberry Pi als auch in der Samba-Datenbank gleich sein.

sudo mkdir /media/nas/
sudo chown samabpi:sambapi /media/nas/ 
sudo chmod 700 /media/nas/ 

Öffnen Sie danach die Samba Konfigurationsdatei mit dem Befehl

  • sudo nano /etc/samba/smb.conf

Tragen Sie dort ihre Freigaben ein. Erstellen Sie für jeden Nutzer eine eigene Freigabe. Im Beispiel ist es hier für den Samba-Nutzer pi eingerichtet. Speichern Sie die Konfiguration jetzt noch mit STRG + O, Enter, STRG + X.

[sambapi]
 comment = Freigabe sambapi
 path = /media/nas
 read only = no 

Legen Sie für den Samba-Nutzer sambapi ein Passwort fest. Samba-Nutzer verfügen über ein eigenes Passwort das Sie in der Samba-Datenbank hinterlegen. Sie müssen diesen Nutzer aber auch im Raspberry Pi anlegen damit es funktioniert.

Den Samba-Nutzer erstellen Sie mit dem Befehl:

sudo smbpasswd -a sambapi

USB-Festplatte mounten und einrichten


Wichtiger Hinweis: Wenn Sie mit einer Remotedesktop-Verbindung von Windows auf den Raspberry Pi zugreifen, werden ihnen eventuell Fehlermeldungen nicht angezeigt. Führen Sie folgende Schritte direkt am Raspberry Pi durch!


Mit folgendem Befehl installieren Sie die benötigten Treiber für NTFS-Festplatten.

sudo apt-get -y install ntfs-3g hfsutils hfsprogs exfat-fuse

Mounten Sie die USB-Festplatte, damit Sie Zugriff darauf haben. Wir legen mit folgendem Befehl einen mount-Point ein. Den Namen des Ordners nas können Sie frei wählen.

sudo mkdir /media/nas

Stecken Sie jetzt die USB-Festplatte an ihren Raspberry Pi. Mit dem folgenden Befehl ermitteln wir die benötigte UUID und den device Pfad der USB-Festplatte. Ihre Festplatte erkennen Sie daran, dass in der Zeile fs_type NTFS steht.

sudo blkid -o list -w /dev/null

Der folgende Befehl erstellt einen mount-Point für die Festplatte. Der Befehl ist nur ein Beispiel und sie müssen ihn für ihr System noch anpassen. Erläuterung des Befehls: ntfs-3g gibt an, dass es sich um ein NTFS Dateisystem handelt. pi ist der Standard-Nutzername von Raspbian. Wenn andere Nutzer Zugriff erhalten sollen, müssen sie diesen ersetzen. Achtung, pi steht zweimal im Befehl. /dev/sda1/ gibt den device Namen ihrer USB-Festplatte an. /media/nas ist das mount-Point Verzeichnis.

Sollten Sie hier eine Fehlermeldung erhalten, dass der Datenträger bereits gemountet ist, liegt es daran das die Festplatte vom Raspberry Pi schon verwendet wird. Dies kann unter anderem schon daran liegen, dass Sie einen Ordner auf der externen Festplatte geöffnet haben. Beim Einstecken wird unter Umständen die externe Festplatte schon automatisch geöffnet. Schließen Sie das Fenster einfach wieder.

sudo mount -t ntfs-3g -o utf8,uid=sambapi,gid=sambapi,noatime /dev/sda1 /media/nas

Das automatische mounten der Festplatte, richten Sie mit diesem Befehl ein. Nach jedem Start des Raspberry Pi, wird die Festplatte automatisch in das System gemountet.

sudo nano -w /etc/fstab

Tragen Sie folgende Zeile in die fstab Datei ein und speichern Sie wieder mit STRG + O, Enter, STRG + X. Ersetzen Sie den Nutzername pi durch ihren gewünschten Namen.

UUID=123456567ABCDEFG /media/nas/ ntfs-3g utf8,uid=sambapi,gid=sambapi,noatime 0

Datei-Server in Windows einbinden

Nachdem die Konfiguration abgeschlossen ist, möchten wir natürlich auch Zugriff auf den Datei-Server erhalten. Dazu richten Sie sich ein Netzlaufwerk in Windows ein. Eine kurze Anleitung dazu finden sie hier.

Nützliche Links

Weitere Tipps und Tricks zum Raspberry Pi finden Sie hier.

Quelle: elektronik-kompendium
Beitragsbildquelle: Raspbian Screenshot

3 Kommentare

  1. Hallo, tolle Erklärung. Gibt es auch eine Anleitung für das mounten von bereits vorhandnen Festplatten im Netzwerk. Ich möchte mit dem PI auf eine Apple Time Capsule (NAS-Festplatte) Zugreifen und diese fest in ein Verzeichnis einbinden. Zum Beispiel wäre es toll wenn die Festplatte und deren Daten unter dem Verzeichnis PI/Home aufgeführt werden.

    Leider habe ich keine brauchbare Anleitung hierzu gefunden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Informationen zur Datenschutzerklärung.