Dieser Artikel ist Teil der Reihe selbstgebauter Ubuntu 20.04 Homeserver/NAS


Das Betriebssystem wurde in den letzten Teilen installiert und die wichtigsten Grundkonfigurationen vorgenommen. Nun können die ersten Dienste auf dem Homeserver installiert werden.

Anzeige:

In diesem Teil werden die Ordnerfreigaben für das lokale Heimnetz erstellt. Die Software, die hierfür verwendet wird, ist SAMBA-Server. Damit können über das SMB/CIFS-Protokoll Freigaben im lokalen Netz erstellt werden. Diese Art der Freigaben wird von allen Betriebssystemen wie Windows, MacOS, Linux usw. unterstützt. Die Freigaben können beispielsweise in Windows als Netzlaufwerk eingebunden werden, sodass man bequem auf alle Dateien auf dem Homeserver zugreifen kann. Auch mit Software wie dem Mediacenter Kodi kann man direkt und ohne Umwege über diese Freigaben auf Filme, Videos und Bilder zugreifen. Ein weiterer Vorteil ist, dass die Datenübertragung mit dem SMB/CIFS-Protokoll sehr schnell ist, sodass auch große Dateimengen im lokalen Netzwerk schnell auf den Homeserver übertragen werden können.

Aus Sicherheitsgründen ist der Zugriff auf diese Freigaben auf das Heimnetz beschränkt, d.h. es werden keine Freigaben im Router erstellt, über die man aus dem Internet zugreifen könnte. Die Datenübertragung über das Internet sollte ausschließlich verschlüsselt erfolgen. SMB ist jedoch unter Umständen unverschlüsselt.

Der Zugriff über das Internet wird im folgenden Teil konfiguriert. Hierfür wird eine sichere, verschlüsselte Verbindung über Nextcloud verwendet.

In diesem Beispiel werden vier Benutzer angelegt.

Tom: Der Name ist willkürlich gewählt. Hier wird eine private Freigabe für das Familienmitglied Tom erstellt, auf welche nur dieser User Zugriff hat.
Lena: Ebenfalls ein willkürlich gewählter Name für ein weiteres Familienmitglied.
Media: Ein spezieller Benutzername für den Zugriff auf Bilder, Videos usw. mit einem Mediaplayer wie Kodi.
smb: Ein Benutzername, der nur vom System verwendet wird, um Dateien zu schreiben. Damit werden Probleme mit den Dateiberechtigungen vermieden, da ansonsten eine von Tom erstellte Datei nicht von Lucy geändert werden könnte. Man könnte stattdessen auch jeden anderen Benutzer (z.B. Tom) verwenden. Ich erstelle der Verständlichkeit halber einen eigenen Benutzer.

Anschließend werden vier Freigaben erstellt.

Tom: Eine private Freigabe, auf die nur Tom zugreifen kann.
Lena: Eine private Freigabe, auf die nur Lena zugreifen kann.
Familie: Auf diese Freigabe haben Tom und Lena Zugriff.
Media: Eine Freigabe für Videos und Bilder. Tom und Lena haben Lese- und Schreibzugriff. Der User media kann jedoch nur Dateien lesen und nichts verändern.

Achtung: Der Administrator des Homeservers hat immer vollständigen Zugriff auf alle Daten auf der Festplatte. Das bedeutet, die Passwörter schützen lediglich vor unbefugtem Zugriff über das Netzwerk. Das sollte man allen Familienmitgliedern auch so kommunizieren. Vor unbefugtem Zugriff durch den Administrator auf private Daten schützt nur eine Verschlüsselung der Dateien. Das gilt übrigens auch für die großen Clouds wie Google Drive, Dropbox, Onedrive usw.

Anzeige:

Installation des Sambaservers und Anlegen der Benutzer

Im ersten Schritt wird der Samba-Server installiert. Dies geschieht mit folgendem Befehl.

sudo apt install -y samba samba-common

Dann werden die Systembenutzer im Betriebssystem angelegt. Diese Benutzer werden nur vom System dazu verwendet, auf Samba-Freigaben zuzugreifen. Daher 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 tom
sudo adduser --no-create-home --disabled-login --shell /bin/false lena
sudo adduser --no-create-home --disabled-login --shell /bin/false media
sudo adduser --no-create-home --disabled-login --shell /bin/false smb

Im folgenden Schritt werden die Passwörter vergeben, mit denen die Freigaben geschützt werden.

sudo smbpasswd -a tom
sudo smbpasswd -a lena
sudo smbpasswd -a media

Übrigens: Wenn man die Passwörter später ändern möchte, dann kann der Befehl einfach erneut ausgeführt werden.

Anlegen der Ordner

Nun werden die Ordner angelegt, in denen die Daten gespeichert werden, die man auf den Homeserver überträgt. Da das RAID-System für die Daten unter /mnt/storage eingebunden wurde, müssen alle Order als Unterordner von mnt/storage/ angelegt werden. Ansonsten würden die Daten auf der Systemplatte landen und wären nicht durch das RAID geschützt.

sudo mkdir -p /mnt/storage/shares/{tom,lena,media,familie}
sudo chown -R smb: /mnt/storage/shares

Einrichten der Freigaben

Die Freigaben werden über die Konfigurationsdatei /etc/samba/smb.conf konfiguriert. Die Datei kann mit jedem Texteditor bearbeitet werden. Mit dem folgenden Befehl wird die Konfigurationsdatei mit dem Texteditor Nano geöffnet, da dieser einsteigerfreundlich und leicht zu bedienen ist.

sudo nano /etc/samba/smb.conf

In der Datei scrollt man mit der Pfeil-nach-unten Taste ganz ans Ende. Dort werden folgende Zeilen eingefügt, um die Freigaben zu erstellen.

[Tom]
comment = Tom
path = /mnt/storage/shares/tom
write list = tom
valid users = tom
force user = smb

[Lena]
comment = Lena
path = /mnt/storage/shares/lena
write list = lena
valid users = lena
force user = smb

[Familie]
comment = Familie
path = /mnt/storage/shares/familie
write list = tom,lena
valid users = tom,lena
force user = smb

[Media]
comment = media
path = /mnt/storage/shares/media
write list = tom,lena
valid users = tom,lena,media
force user = smb

Damit der Zugriff auch mit Windows 10 funktioniert, muss noch eine Zeile in der Konfigurationsdatei geändert werden. Und zwar muss die Zeile „map to guest = bad user“ zu „map to guest = never“ geändert werden.

Wenn man diese Zeile nicht ändert, bekommt man beim Zugriffsversuch mit Windows 10 eine Fehlermeldung wie: „Auf 192.168.30.119 kann nicht zugegriffen werden. Vergewissern Sie sich, dass der Name richtig geschrieben wurde. Möglicherweise besteht ein Netzwerkfehler. Klicken Sie auf Diagnose“.

map to guest = bad user

map to guest = never

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

Anzeige:

Die Angabe in den eckigen Klammern ist der Name der Freigabe, mit der diese im Netzwerk sichtbar ist.
Der Kommentar ist ein beliebiges Wort oder Satz, der die Freigabe beschreibt.
Hinter „path“ wird der Pfad im Dateisystem angegeben, wo die Daten für diese Freigabe gespeichert werden.
Write list ist eine Liste mit allen Benutzernamen, die über das Netzwerk auf dieser Freigabe Dateien verändern dürfen. Dazu gehört auch das Erstellen und Löschen von Dateien und Ordnern.
Valid users ist eine Liste mit Benutzernamen, die auf die Freigabe zugreifen können. Ist ein Benutzername in der Liste „valid users“, nicht jedoch in der Liste „write list“, dann darf der Benutzer zwar auf die Freigabe zugreifen und Dateien lesen, nicht jedoch verändern.
Force user gibt den Benutzername an, mit dem Samba die Daten auf die Festplatte schreibt. So wird sichergestellt, dass alle Daten mit demselben Benutzernamen geschrieben werden. Fehlt die Angabe, wird der Benutzer verwendet, der auf die Freigabe zugreift, also Tom, Lena etc.

Damit die Änderungen aktiv werden, muss der Samba-Server einmal neu gestartet werden.

sudo systemctl restart smbd.service

Schnellzugriff auf Freigaben mit Windows 10

Für Tests, oder wenn man nur gelegentlich auf eine Freigabe zugreifen will, lohnt es sich nicht, diese dauerhaft als Netzlaufwerk einzubinden. Die schnellste und einfachste Möglichkeit mit Windows 10 auf die Freigaben des Homeservers zuzugreifen ist, die IP-Adresse des Homeservers in die Adressleiste des Explorers einzugeben. Und zwar in folgender Form: \\192.168.30.153

Nach der Passworteingabe werden alle Freigaben die unter dieser Adresse zu finden sind im Windows-Explorer angezeigt.

Schnellzugriff auf Netzwerkfreigaben mit Windows 10

Freigaben unter Windows 10 dauerhaft als Netzlaufwerk einbinden

Wenn man häufig über die Freigaben auf den Homeserver zugreift, ist der Schnellzugriff unpraktisch und unbequem. In diesen Fall ist es sinnvoller die Freigaben dauerhaft als Netzlaufwerk im Windows Explorer einzubinden.

Zur Einrichtung des Netzlaufwerks öffnet man den Explorer und macht einen Rechtsklick auf das Dieser-PC-Icon. Dann klickt man auf Netzlaufwerk verbinden.

Windows 10 Netzlaufwerk verbinden

Im Feld „Ordner“ gibt man die Netzwerkadresse der Freigabe ein. Beispielsweise \\192.168.30.153\Media.

Mit einem Klick auf „Fertig stellen“ wird ein neues Laufwerk im Windows-Explorer erstellt, das jedoch tatsächlich den Inhalt der Freigabe auf dem Homeserver zeigt.

Netzlaufwerk in Windows 10 eingerichtet

Schnellzugriff auf die Freigaben mit Ubuntu Desktop

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 gibt man die Adresse des Homeservers ein, in der Form smb://192.168.30.153.

Ubuntu Desktop auf SMB-Freigaben zugreifen

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

Anzeige:

Dauerhaftes Einbinden der Freigaben auf einem 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.

sudo apt install cifs-utils

Anschließend werden die Ordner auf der lokalen Festplatte angelegt, 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.

mkdir -p ~/Homeserver/{Tom,Media,Familie}

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 folgender Form.

username=tom
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 Datei 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.153/Tom /home/MEINUSERNAME/Homeserver/Tom cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.153/Familie /home/MEINUSERNAME/Homeserver/familie cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.30.153/Media /home/MEINUSERNAME/Homeserver/Media cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0

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

MEINUSERNAME muss durch den eigenen Benutzernamen 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.

Anzeige:
sudo mount -a
Ubuntu Netzwerkfreigaben dauerhaft eingebunden

Übersicht: Ubuntu 20.04 Homeserver/NAS, Teil 1
Installation des Betriebssystems: Ubuntu 20.04 Homeserver/NAS, Teil 2
Grundkonfiguration: Ubuntu 20.04 Homeserver/NAS, Teil 3
Ordnerfreigaben: Ubuntu 20.04 Homeserver/NAS, Teil 4
Nextcloud: Ubuntu 20.04 Homeserver/NAS, Teil 5
Plex Mediaserver: Ubuntu 20.04 Homeserver/NAS, Teil 6
Backup: Ubuntu 20.04 Homeserver/NAS, Teil 7


Anzeige:

Hinterlasse einen Kommentar

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

Please enter your name here