Dieser Artikel ist Teil der Reihe selbstgebauter Homeserver/Nas mit Ubuntu 18.04

Anzeige:

In den vorangegangenen Teilen wurde das System soweit eingerichtet dass es nun bereit für die Konfiguration der eigentlichen Dienste ist.

In diesem Teil richten wir die Dateifreigaben für das Heimnetz ein. Hierzu wird der Dienst SAMBA genutzt, da dieser schnelle Datenübertragungen im Netzwerk ermöglicht und von allen Systemen unterstützt wird. Auf die von Samba erstellten SMB/CIFS Freigaben kann mit Windows Computern genau so zugegriffen werden wie mit Linux, MacOS oder mobilen Betriebssystemen. Auch Clients wie das Mediacenter Kodi unterstützen diese Freigaben. Aus Sicherheitsgründen ist der Zugang über Samba aber auf das Heimnetz beschränkt. Für den Dateizugriff über das Internet wird Nextcloud verwendet, was sicherer konfigurierbar ist (SMB ist unter Umständen unverschlüsselt), aber auch langsamer. Beim Zugriff über das Internet spielt das aufgrund der langsameren Internetzugänge jedoch keine Rolle.

In diesem Beispiel werden zwei Benutzer angelegt:
heimnetz: Dies ist unser Benutzer. Mit diesem darf auf alle Freigaben lesend und schreibend zugegriffen werden.
heimgast: Das Passwort kann an Gäste herausgegeben werden, oder in einem Mediaplayer wie Kodi gespeichert werden. Der Benutzer hat nur Lesezugriff und kann damit keinen Schaden anrichten.

Selbstverständlich können hier auch andere Namen gewählt werden.

Außerdem werden drei Arten von Freigaben eingerichtet.
Dokumente, Video, Audio: Auf diese Freigaben hat der Benutzer heimnetz Schreib- und Lesezugriff, der Benutzer heimgast nur Lesezugriff.
Private: Eine private Freigabe. Hier hat nur der Benutzer heimnetz Zugriff. Heimgast kann nicht zugreifen.
Public: Die öffentliche Freigabe. Hier dürfen alle die Zugang zum Heimnetz haben lesen und schreiben. Es wird kein Passwort benötigt. Diese Freigabe dient dem Austausch von Dateien mit anderen Personen.

Zuerst muss der Sambaserver installiert werden. Die geschieht mit dem Befehl

sudo apt install samba samba-common

Dann werden die beiden Benutzer auf Systemebe angelegt. Da diese Benutzer nur dazu dienen auf Samba-Freigaben zuzugreifen, wird kein Homeverzeichnis angelegt und der Login direkt am System deaktiviert. Die Abfragen von Name, Zimmer usw. können einfach mit Enter übersprungen werden.

sudo adduser --no-create-home --disabled-login --shell /bin/false heimnetz
sudo adduser --no-create-home --disabled-login --shell /bin/false heimgast

Als nächstes werden die Passwörter für beide Benutzer vergeben, die beim Zugriff auf die Freigaben eingegeben werden müssen.

sudo smbpasswd -a heimnetz
sudo smbpasswd -a heimgast

Jetzt können wir die Ordner anlegen, welche anschließend im Netzwerk freigegeben werden. Hier muss man darauf achten, dass diese auch auf unserem Storagepool liegen und nicht auf der Systemplatte. Der Storagepool wurde bei der Systeminstallation unter /mnt/storage angelegt. Also müssen alle Dateien unterhalb von /mnt/storage gespeichert werden.

Anzeige:

In diesem Schritt wird der übergeordnete Ordner erstellt, in welchem sich wiederum die Freigaben befinden. Mit dem zweiten Befehl wechseln wir in diesen Ordner. Innerhalb des Ordners shares werden dann die eigentlichen Ordner für die Freigaben audio, video, dokumente, public und private erstellt. Der letzte Befehl macht den Benutzer heimnetz auf Systemebene zum Besitzer der Ordner.

sudo mkdir /mnt/storage/shares
cd /mnt/storage/shares
sudo mkdir audio video dokumente public private
sudo chown -R heimnetz: /mnt/storage/shares

Das Erstellen der Freigaben erfolgt über die Datei /etc/samba/smb.conf welche mit dem Texteditor geöffnet und bearbeitet wird. Wir öffnen die Konfigurationsdate mit dem Editor Nano, da dieser auf der Kommandozeile einfach zu bedienen ist.

sudo nano /etc/samba/smb.conf

In dieser Datei scrollen wir mit der Pfeil-nach-unten Taste ganz ans Ende und fügen folgende Zeilen ein:

[Video]
comment = Videos
path = /mnt/storage/shares/video
write list = heimnetz
valid users = heimnetz,heimgast
force user = heimnetz

[Audio]
comment = Audio
path = /mnt/storage/shares/audio
write list = heimnetz
valid users = heimnetz,heimgast
force user = heimnetz

[Dokumente]
comment = Dokumente
path = /mnt/storage/shares/dokumente
write list = heimnetz
valid users = heimnetz,heimgast
force user = heimnetz

[Public]
comment = Public
path = /mnt/storage/shares/public
writeable = yes
guest ok = yes
force user = heimnetz

[Private]
comment = Private
path = /mnt/storage/shares/private
write list = heimnetz
valid users = heimnetz
force user = heimnetz

Mit den Tastenkombinationen Strg+o wird die Datei gespeichert. Mit Strx+x wird der Editor wieder beendet.

Die erste Angabe in eckigen Klammern ist der Name, mit dem die Freigabe im Netzwerk sichtbar ist. Der Kommentar ist ein beliebiges Wort oder Satz, der die Freigabe beschreibt. Hinter path wird angegeben wo sich die Freigabe im System befindet. Write list ist die Liste mit Benutzern die auf die Freigabe schreiben dürfen. Valid users sind alle Benutzer die auf die Freigabe zugreifen dürfen. Mit force user wird der Systemuser angegeben mit welchem Dateien geschrieben oder verändert werden. Da heimgast auf Systemebene keinerlei Rechte in den freigegebenen Verzeichnissen hat, wird hier immer die Benutzung des Users heimnetz erzwungen. Auf die Rechte beim Zugriff über das Netzwerk hat diese Angabe keinen Einfluss.

Damit die Änderungen wirksam werden muss der Samba-Dienst einmal neu gestartet werden. Dies geschieht mit dem Befehl

sudo systemctl restart smbd.service

Anschließend sind die Freigaben im Netzwerk verfügbar.

Schnellzugriff auf Freigaben mit Windows 10

Wenn man nur gelegentlich, oder mit einem fremden Computer auf die Freigaben zugreifen will lohnt es sich nicht diese fest einzubinden. Die schnellste und einfachste Möglichkeit mit Windows 10 auf die Freigaben unseres Homeservers zuzugreifen ist es, einfach in die Adresszeile des Exlorers die Adresse des Homeservers einzugeben. In der Form \\192.168.30.114

Damit werden alle Freigaben die unter dieser Adresse zu finden sind angezeigt.

Schnellzugriff auf SMB Freigaben mit Windows 10

Freigaben unter Windows 10 dauerhaft als Netzlaufwerk einbinden

Für eine regelmäßige Nutzung ist der Schnellzugriff zu unbequem. Für diesen Fall ist es sinnvoller die Freigaben dauerhaft als Netzlaufwerk im Windows Explorer einzubinden.

Anzeige:

Zur Einrichtung öffnet man den Dieser PC und macht einen Rechtsklick auf eine freie Stelle. Dann klickt man auf Netzwerkadresse hinzufügen.

Windows 10 Netzwerkadresse hinzufügen

Im nächsten Schritt wählt man “Eine Benutzerdefinierte Netzwerkadresse auswählen“ und klickt auf weiter. Je nach Windowsversion ist dies unter Umständen auch die einzig auswählbare Option.

Windows 10 Netzwerkadresse hinzufügen

In das Feld zur Eingabe der Netzwerkadresse geben wir die IP Adresse unseres Homeservers gefolgt von der Freigabe in Form von “\\192.168.178.114\Dokumente” ein.

Netzwerkadresse eingeben

Im nächsten Schritt können wir einen beliebigen Namen für die Freigabe eingeben, z.B. “Mimas Dokumente

Name für die Freigabe vergeben

Nach einem Klick auf weiter und fertig stellen, kommt die Passwortabfrage. Hier geben wir die Zugangsdaten des Benutzers heimnetz ein und setzen einen Haken bei “Anmeldedaten speichern“.

Zugangsdaten eingeben

Damit ist die Freigabe im Explorer unter Dieser PC fest eingebunden und verfügbar.

Freigabe im Explorer eingebunden

Schnellzugriff auf die Freigaben mit Ubuntu 18.04

Auch unter Ubuntu ist ein einfacher Schnellzugriff auf die Freigaben möglich. Dies ist besonders geeignet wenn die Freigaben nicht dauerhaft verfügbar sein müssen, z.B. für einen Gast. Für den schnellen Zugriff öffnet man Dateien und wählt in der linken Menüleiste Andere Orte. Im unteren Bereich gibt es das Feld mit Server verbinden. Hier geben wir die Adresse unseres Homeservers in der Form smb://192.168.30.114

schnelle SMB Verbindung mit Ubuntu

Mit einem Klick auf Verbinden werden alle unter dieser Adresse gefundenen Freigaben angezeigt.

Dauerhaftes Einbinden der Freigaben auf dem Ubuntu Desktop-System

Bei allen selbst genutzten Computern ist es praktischer die Freigaben dauerhaft zu mounten, damit man immer ein bequemer Zugriff auf den Homeserver möglich ist. Dies ist ein bisschen aufwändiger als unter Windows, dafür sind die Freigaben anschließend nahtlos in das Dateisystem eingebunden und können genau wie lokale Ordner auf der Festplatte genutzt werden.

Damit Ubuntu Sambafreigaben beim Start mounten kann muss das Paket cifs-utils installiert werden.

Anzeige:
sudo apt install cifs-utils

Anschließend legen wir die Ordner an, in denen die Freigaben unseres Homeservers später zu finden sein werden. In diesem Fall wird ein Ordner namens Homeserver erstellt und unterhalb je ein Ordner für die Freigaben und wechseln anschließend wieder in unser Homeverzeichnis zurück.

mkdir Homeserver
cd Homeserver
mkdir Dokumente Audio Video Public Private
cd

Damit die Zugangsdaten nicht nach jedem Neustart neu eingegeben werden müssen, werden diese in einer Datei abgelegt, auf welche nur der Rootuser zugriff hat. Zuerst wird die Datei erstellt und anschließend mit dem Texteditor geöffnet

mkdir .credentials
touch .credentials/smbcredentials
nano .credentials/smbcredentials

in diese Datei kommen Benutzername und Passwort in der Form

username=heimnetz
password=MEINPASSWORT

Die Datei wird mit Strg+o gespeichert und mit Strg+x wird der Texteditor wieder geschlossen. Aus Sicherheitsgründen werden nun die Lese und Schreibrechte zu dieser Date so angepasst, dass nur der Rootuser Zugriff darauf hat.

sudo chown root: .credentials/smbcredentials
sudo chmod 600 .credentials/smbcredentials

Damit Ubuntu die Freigaben kennt müssen diese in die Datei /etc/fstab eingetragen werden. Die Datei wird wieder mit dem Texteditor geöffnet und folgender Text am Ende der Datei eingefügt

sudo nano /etc/fstab
#Mount Homeserver
//192.168.30.114/Dokumente /home/MEINUSERNAME/Homeserver/Dokumente cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.114/Audio /home/MEINUSERNAME/Homeserver/Audio cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.114/Video /home/MEINUSERNAME/Homeserver/Video cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.114/Public /home/MEINUSERNAME/Homeserver/Public cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.114/Private /home/MEINUSERNAME/Homeserver/Private cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0

Es muss darauf geachtet werden dass jeder Eintrag in einer Zeile eingetragen wird. Also dass jede Zeile mit //192.168.30….. beginnt.

MEINUSERNAME muss durch den eigenen Benutzername ersetzt werden, mit welchem man sich an seinem Laptop oder Desktop angemeldet hat. Bei UID und GID muss es sich um die IDs des eigenen Benutzers handeln. Bei einer Standardinstallation mit nur einem Benutzer ist dies 1000 und muss dementsprechend nicht angepasst werden. Wenn aber mehrere Benutzer einen Computer nutzen, haben diese unterschiedliche IDs. Welche das ist lässt sich im Terminal mit dem einfachen Befehl id herausfinden.

Nach einem Neustart sollten die Freigaben unseres Homeservers nun im lokalen Dateisystem eingebunden sein, ganz so als würden sie auf der lokalen Festplatte liegen. Wer ungeduldig ist, oder den Rechner nicht neu starten möchte kann das Einbinden der Freigaben auch manuell erledigen mit dem Befehl

sudo mount -a

eingebundene SMB Freigaben


Homeserver/NAS mit Ubuntu 18.04: Teil 1, Einleitung, Hardware und Kosten
Homeserver/NAS mit Ubuntu 18.04: Teil 2, Systeminstallation
Homeserver/NAS mit Ubuntu 18.04: Teil 3, Grundkonfiguration
Homeserver/NAS mit Ubuntu 18.04: Teil 4, Dateifreigaben im Heimnetz
Homeserver/NAS mit Ubuntu 18.04: Teil 5, Nextcloud
Homeserver/NAS mit Ubuntu 18.04: Teil 6, Media Streaming mit Plex
Homeserver/NAS mit Ubuntu 18.04: Teil 7, Backups mit Duplicati und Rsnapshot


Anzeige:
Samsung C24F396FHU Curved Monitor, 60,9 cm (24 Zoll), schwarz
Preis: EUR 134,06
(Stand von: 22.03.2019 14:50 - Details
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.
)
Sie sparen: EUR 90,00 (39 %)
36 neu von EUR 134,0612 gebraucht von EUR 97,96
  • Curved Monitor, 24 Zoll, 1,920 x 1,080 Pixel, Curved Monitor 1800R
  • Eye Saver Mode, Eco Saving, Game Mode, Bildwiederholungsrate 60 Hz, Energieeffizienzklasse A
  • Kontrast Dynamisch (Mega Contrast), Helligkeit 250 cd/m²
  • HDMI (1x), Kopfhörer (1x), Wandmontage (VESA 75x75)
  • Lieferumfang: Netzteil, Netzkabel, HDMI-Kabel, Installations-CD

18 KOMMENTARE

  1. Hallo und herzlichen Dank für diese echt ausführliche Anleitung. Ich habe sie jetzt komplett durchgearbeitet und der Server funktioniert. Zumindest fast! Denn aus unerfindlichen Gründen bekomme ich keinen Zugriff auf die Samba Shares. Versuche ich wie oben beschrieben mit meinem Linux Mint eine Verbindung zum Server erzustellen, zeigt er mir zwar die Freigaben an, doch sobald ich ein freigegebenes Verzeichnis öffnen möchte, akzeptiert er die Zugangsdaten (die ich jetzt mehrmals überprüft und auch schon neu gesetzt habe) nicht.

    Mir ist klar, dass Du hier keinen großen Support leisten möchtest/kannst, aber vielleicht hast Du einen Tipp für mich, wo ich nachschauen kann. Würde mich freuen

    • Wichtig ist dass Du das Passwort verwendest, dass Du mit dem Befehl smbpasswd gesetzt hast. Und dass der Sambaserver neu gestartet wurde mit sudo systemctl restart smbd.service.
      Das Logfile findest Du unter /var/log/samba/log.[ClientIP]. Wenn Du dort nichts findest kannst du dafür sorgen dass Samba ausführlicher loggt, indem Du die Zeile “log level = 3” in der Datei /etc/samba/smbd.conf einträgst und Samba anschließend neu startest.

  2. Das Tutorial ist echt verständlich geschrieben und somit sehr hilfreiche!

    Lassen sich die Freigaben eigentlich auch als “Datenträger” einbinden?
    Momentan werden diese bei mir als Netzwerkordner angezeigt…

    • Unter Windows? Mach mal einen Rechtsklick auf das “Dieser PC” Icon und dann Netzlaufwerk verbinden (nicht Netzwerkadresse hinzufügen, wie im Artikel beschrieben).
      Dann kannst du die Freigaben als Laufwerk einbinden.

      • Nein, bin mit Ubuntu 18.04. und Cinnamon Desktop unterwegs und bei Nemo werden die eingebundenen Freigaben im Bereich/Verzeichnisbaum ‘Netzwerk’ als Netzwerkordner angezeigt. In Windows lässt sich der NAS wie von dir schon erwähnt als Laufwerk einbinden. Geht das auch bei Ubuntu?

      • Unter Linux gibt es keine Laufwerke, nur Ordner, bzw. Mount- oder Einhängepunkte. Auch ein USB-Stick ist nur ein Ordner, der sich normalerweise unter /media/username befindet. Wie man die Freigabe dauerhaft als Ordner einbindet ist unten im Artikel beschrieben.

  3. Alles klar, danke!

    Bei Verwendung von ‘noauto’ in der fstab, kann man anstatt der .smbcreditentials einen Keyring verwenden, welcher bei der Anmeldung entsperrt wird und die Login Daten übergibt.

    Ziel bei Systemen mit mehreren Benutzern: Wenn ich nicht root bin, möchte ich nicht, dass root meine Login Daten sehen kann.

    Geht das überhaupt? Oder gibt es da unter Linux/Ubuntu andere Wege das zu erreichen?

  4. Hallo, hätte da noch eine Frage, nachdem die NAS über die fstab eingebunden wurde, habe ich festgestellt, dass bei Kopiervorgängen die Geschwindigkeit rapide auf 2-3MB/s gefallen ist.

    Im Vergleich wenn ich z.B. die smb Freigabe über Nautilus (gvfs) einbinde, da habe liegt die Geschwindigkeit bei Kopiervorgängen bei 30-40MB/s. Mit gvfs bin ich 10-mal schneller…

    Das Problem habe ich beim Kopieren innerhalb der NAS, z.B. wenn ich eine Video-Datei (3GB) von einem Ordner in einen anderen Ordner kopiere/verschiebe.

    Hast du evtl. einen Tipp voran das liegen könnte? smb/cifs und gvfs sollten doch ähnliche Performance bringen, oder?

    Der fstab Eintrag ist schon praktisch, würde ihn gerne so beibehalten, wenn sich das Problem beheben lässt…

  5. Prima Anleitung, habe mir direkt das eBook gekauft.
    Leider scheitere ich sowohl auf Windows (Win10)- wie auf Linux-Ebene (Mint 18.03) daran, die Dateifreigabe im Netzwerk hinzukriegen. Unter Linux erhalte ich nach einem manuellen Einbinden der Freigaben folgende Fehlermeldung:
    mount error(5): Input/output error
    Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
    Auch nach einem Neustart habe ich keinen Zugriff auf die Freigaben. Ich habe alle Installationsschritte zweimal ausgeführt, um auszuschliessen, dass sich ein Fehler eingeschlichen hat. Die Verzeichnisse sind im übergeordneten Verzeichnis „Homeserver“ eingerichtet. Anschließend den nächsten Schritt ausgeführt:
    mkdir .credentials
    touch .credentials/smbcredentials
    nano .credentials/smbcredentials
    und in der Datei fstab meinen Usernamen und die IP-Adresse des Servers eingegeben.
    Nachdem ich unter Windows schon kläglich gescheitert bin, hatte ich die Hoffnungen, dass der Zugriff unter Linux funktioniert.
    Unter Windows klappt beim Versuch eine Netzwerkadresse hinzuzufügen
    Eine benutzerdefinierte Netzwerkadresse auswählen
    nach Eingabe der IP des Servers mit der Syntax\\192.168.178.50\Dokumente eine lange Liste mit Zielen auf, die bei vorherigen Versuchen angelegt wurden. Diese existieren aber schon lange nicht mehr auf dem Server.
    Diese Liste lässt sich nicht löschen, bzw. aktualisieren. Wenn ich den bereits vorhandenen Eintrag \\192.168.178.50\Dokumente anwähle bekomme ich die Fehlermeldung: Der eingegebene Ordner ist ungültig, wählen Sie einen anderen Ordner. Unter „Durchsuchen“ passiert gar nix. Der Server lässt sich anpingen und die Windows Netzwerkeinstellungen sind nach Recherchen im Netz so, wie sie sein sollen.
    Nun bin ich ratlos und daher für jeden Tipp dankbar
    Grüße
    Martin
    Gerade habe ich entdeckt, dass der Server unter „Netzwerk“ gar nicht sichtbar ist. Ich habe allerdings keine Ahnung, warum das so ist.

    • Hallo Martin,
      hast du an die unterschiedliche Verwendung von \ und / unter Windows, bzw. Linux gedacht?
      Wenn du unter Windows \\192.168.178.50 im Explorer eingibst, sollten alle deine Freigaben angezeigt werden. Unter Linux Mint kannst du smb://192.168.178.50 in die Adresszeile des Dateimanagers eingeben. Wenn dann keine Freigaben angezeigt werden stimmt irgendwas mit Konfiguration deines Homeservers nicht.
      Da es weder unter Windows noch unter Linux funktioniert liegt der Verdacht nahe, dass das Problem nicht am Client liegt.

      • Hallo Niko, vielen Dank für die schnelle Reaktion.
        Wenn ich unter Windows im Explorer die IP mit eben dieser Syntax eingebe, bekomme ich die Meldung, dass auf die Adresse nicht zugegriffen werden konnte. Auf einem anderen Windows 7 Rechner sehe ich den Server, ich kann die Freigabe einrichten einen Namen vergeben, User und PW eingeben. Das Ganze endet dann allerdings wieder mit der Meldung, dass auf das Verzeichnis nicht zugegriffen werden konnte, weil ich keine Berechtigung habe.
        Unter Linux Mint finde ich nach Eingabe von smb://192.168.178.50 offenkundig etwas, was mit Druckern zu hat (print$), nicht aber meine Freigaben. Ich werde den Server streng nach Anleitung neu aufsetzen, mittlerweile habe ich an so vielen Schrauben gedreht, dass ich keine Übersicht mehr habe, ob oder was ich falsch gemacht habe.
        Vielen nochmals
        Grüße
        Martin

  6. Hallo Nico,
    Vielen Dank für diesen tollen Guide, ich habe absolut kein Ahnung von Linux, jedoch mit Deinem tollen Tutorial fällt es mit sehr leicht die Anweisungen zu folgen. Jedoch stoße ich auf ein Problem. Ich kann in Windows keine shared folders mappen. ich kann sie sehen aber nicht öffnen und bekomme folgende Meldung “Windows cannot access //sevrer/Dokumente”
    Hast Du eine Idee?
    viele Grüße und Frohes Neuss Jahr Björn

    • Hallo Björn,
      hast du \ bzw / richtig verwendet? Bei Windows muss du den Backslash \\server\Dokumente verwenden. In deinem Kommentar steht //server/Dokumente.
      Ansonsten helfen dir vielleicht die Logfiles auf dem Homeserver im Ordner /var/log/samba weiter. Evtl. findest du hier einen Hinweis darauf warum die Verbindung fehlschlägt.
      Gruß
      Niko

  7. Ich hätte mal eine Frage. Kann ich die alten Festplatten aus meinem NAS nehmen und diese OHNE die Daten darauf zu verlieren benutzen?
    Da ich ungerne 12TB irgendwo hochlade. Geschweige denn so viel Platz in allen clouds zusammen habe.
    MfG Hunter

  8. hmm ok.
    Das Vormat is Ext4. Habe das ganze mal mit der backup platte getestet.
    Scheint zu klappen. Nur die Einrichtung vom server selbst macht mir momentan noch zu schaffen.

HINTERLASSEN EINEN KOMMENTAR

Please enter your comment!
Die Angabe von Name oder Webseite ist optional. Weitere Informationen: siehe Datenschutzerklärung

Please enter your name here