Diese Artikelreihe basiert auf Ubuntu Server 14.04 und ist teilweise veraltet. Es existiert eine aktualisierte und verbesserte Version dieser Artikelreihe, basierend auf Ubuntu Server 18.04 unter Homeserver/NAS mit Ubuntu 18.04


Dieser Artikel ist Teil der Reihe Selbstgebauter Homeserver/NAS mit Ubuntu Server


Nachdem die Grundkonfiguration erledigt ist können nun die eigentlichen Dienste installiert und konfiguriert werden. Als erstes kommen die Dateifreigaben dran, damit wir von allen Rechnern in unserer Wohnung Zugriff auf die zentral gespeicherten Daten bekommen. Da wir sowohl mit Windows als auch mit Linux Clients auf die Dateien zugreifen wollen nutzen wir hierfür SAMBA.

In diesem Artikel werden zwei Benutzer für den Zugriff auf die Freigaben über das Netzwerk angelegt. Einen User nenne ich mediamaster. Dieser ist der User, welcher von uns auf unseren eigenen Rechnern genutzt wird und welcher Lese- und Schreibzugriff auf alle Dateien hat.

Ein zweiter User, genannt mediaaccess, ist für die Nutzung auf Mediacentern oder zur Weitergabe ab Besucher gedacht. Dieser User hat keinerlei Schreibrechte und nur Leserechte auf bestimmte Verzeichnisse.

Samba hat seine eigene Benutzerdatenbank. Sambabenutzer müssen aber schon als „normale“ Systenbenutzer vorhanden sein. Aus diesem Grund müssen wir die Benutzer zweimal anlegen. Einmal als Systembenutzer und einmal als Sambabenutzer.

Zuerst legen wir den Mediamaster als Systembenutzer an. Dieser User darf sich anschließend auch per SSH einloggen, hat jedoch keine Root- oder Sudorechte. Die Abfragen zum kompletten Namen, Zimmernummer usw. können einfach mit Enter übersprungen werden.

 

sudo adduser mediamaster

Anschließend legen wir den Mediaaccess als Systemuser an. Dieser bekommt kein eigenes Homeverzeichnis und darf sich auch nicht per SSH auf dem System einloggen.

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

Als nächstes wird Samba installiert mit

sudo apt-get install samba-common samba

Jetzt legen wir die gerade angelegten Systemuser auch in der Samba Benutzerdatenbank an mit

sudo smbpasswd -a mediamaster

und

sudo smbpasswd -a mediaaccess

Sinnvollerweise wird hier für den Meadiamaster in Samba das selbe Passwort wie für den Systemuser vergeben, zwingend ist das jedoch nicht. Die mit dem Befehl smbpasswd vergebenen Passwörter sind auch die, welche nachher zum Dateizugriff über das Netzwerk nötig sind.

Jetzt wechseln wir zum Benutzer mediamaster und legen die Ordner an, welche wir anschließend im Netzwerk freigeben wollen. In diesem Fall legen wir im Homeverzeichnis die Ordner Videos, Musik, Dokumente und Public an und wechseln wieder zum User homeadmin zurück.

$ sudo su mediamaster
$ cd
$ mkdir videos musik dokumente public
$ exit

Die weitere Konfiguration von Samba erfolgt über die Datei /etc/samba/smb.conf, welche im Texteditor geöffnet werden muss.

$ sudo nano /etc/samba/smb.conf

Hier scrollen wir mit der Bild-nach-unten Taste ganz an das Ende der Datei. Hier wird die folgende Konfiguration für die Freigaben eingefügt:

[Videos]
comment = Videos
path = /home/mediamaster/videos
write list = mediamaster
valid users = mediamaster,mediaaccess
force user = mediamaster

[Musik]
comment = Musik
path = /home/mediamaster/musik
write list = mediamaster
valid users = mediamaster,mediaaccess
force user = mediamaster

[Dokumente]
comment = Dokumente
path = /home/mediamaster/dokumente
write list = mediamaster
valid users = mediamaster
force user = mediamaster

[Public]
comment = Public
path = /home/mediamaster/public
write list = mediamaster, mediaaccess
valid users = mediamaster,mediaaccess
force user = mediamaster

Die Datei kann jetzt mit STRG+O gespeichert und anschließend mit STRG+X geschlossen werden.

Damit die Änderung übernommen wird muss Samba neu gestartet werden mit

$ sudo service smbd restart

Damit werden vier Freigaben erstellt. Auf die Freigaben Videos und Musik haben sofowhl der User mediamaster, als auch der user mediaaccess zugriff, wobei der User mediaaccess nur lesen, mediamaster aber lesen uns schreiben darf. Die Angabe „force user“ gibt an dass Samba geschriebene Dateien immer mit den Rechten des Systemusers mediamaster erstellt. Die hat keine Auswirkung auf die Freigaben, aber auf die Rechtevergabe auf Dateiebene.

Auf die Freigabe Dokumente darf nur der User mediamaster zugreifen.

Auf die Freigabe Public darf sowohl der mediamaster, als auch der mediaaccess zugreifen und schreiben

Samba bietet auch die Möglichkeit einen Papierkorb zu erstellen, so dass gelöschte Dateien wiederhergestellt werden können. Wie dieser eingerichtet wird habe ich im Artikel „Papierkorb für SAMBA Freigaben“ beschrieben. Die Serverseitige Einrichtung der Freigaben ist damit abgeschlossen. Nun müssen diese nur noch auf den Clients eingerichtet werden.

Diese Art der Dateifreigabe bietet sich für das heimische Netzwerk an, da die Übertragungsraten sehr hoch sind. Da die Übertragung jedoch unverschlüsselt stattfindet ist diese Möglichkeit nicht zur Datenübertragung über das Internet geeignet. Damit die möglich wäre müsste jedoch eine Portweiterleitung im Router eingerichtet werden. Wer dies nicht gezielt macht kommt auch nicht in die Verlegenheit versehentlich aus dem Internet auf die eigenen Dateien zuzugreifen. Außerdem ist die lokale IP Adresse 192.168.178.100 nicht über das Internet erreichbar.

Schnellzugriff auf die Freigaben unter Windows

Die schnellste Möglichkeit auf die Freigaben des Homeservers zuzugreifen ist es, einfach in die Adresszeile des Windows Explorers \\192.168.178.100 einzugeben. Dann werden die Freigaben angezeigt und bei einem Klick auf die Freigabe erscheint die Abfrage des Benutzernamens und des Passworts. Diese Möglichkeit ist besonders geeignet wenn man schnell einige Dateien mit einem Gast austauschen möchte.

windows-smb-8

Einbinden der Freigaben als Netzlaufwerk unter Windows

Für einen bequemen Zugriff auf die Dateifreigaben unter Windows können diese als Netzlaufwerk eingebunden werden. Dies eignet sich besonders für eigene Computer, die ständig Zugriff auf die Freigaben des Homeservers benötigen.

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

windows-smb-1Im nächsten Schritt wählt man „Eine Benutzerdefinierte Netzwerkadresse auswählen„. Je nach Windowsversion ist dies unter Umständen auch die einzig auswählbare Option.windows-smb-2

In das Feld zur Eingabe der Netzwerkadresse geben wir die IP Adresse unseres Homeservers gefolgt von der Freigabe in Form von „\\192.168.178.100\Dokumente“ einwindows-smb-3

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

windows-smb-4

Nach einem Klick auf weiter kommt die Passwortabfrage. Hier geben wir die Zugangsdaten unseres Mediamasters ein und setzen einen Haken bei „Anmeldedaten speichern„.

windows-smb-5

Wenn die Zugangsdaten korrekt eingegeben wurden ist nun unsere Freigabe unter dem gerade vergebenen Namen im Arbeitsplatz zu finden. Dieser Vorgang muss nun für alle Freigaben wiederholt werden.

windows-smb-6

Schnellzugriff auf die Freigaben unter Ubuntu

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 Zugriff öffnen wir Nautilus bzw. Dateien und wählen oben in der Menüleiste „Ort eingeben“ aus.

ubuntu-smb-1

Dort geben wir smb://192.168.178.100 ein und drücken Enter. Daraufhin werden unsere Freigaben angezeigt. Bei einem Klick darauf kommt die Passwortabfrage.ubuntu-smb-2

Dauerhaftes einbinden der Freigaben unter Ubuntu

Bei allen selbst genutzten Computern ist es einfacher die Freigaben dauerhaft zu mounten Damit man immer Zugriff auf den Homeserver hat.. 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-get install cifs-utils

Dann legen wir in unserem Homeverzeichnis die Ordner an, die nachher der Freigabe auf dem Homeserver entsprechen sollen. Also z.B. zuerst einen Ordner Homeserver und darin die Ordner Dokumente, Musik, Public und Videos.

ubuntu-smb-3

Die weitere Konfiguration erledigen wir wieder auf der Kommandozeile. Wir erstellen einen versteckten Ordner, in dem wir die Zugangsdaten für die Netzwerkfreigabe hinterlegen. Die Leserechte auf diese Datei werden anschließend so beschränkt, dass sie nur nach Eingabe des Root-/Administratorpassworts gelesen werden kann.

$ cd
$ mkdir .credentials
$ nano .credentials/smbcredentials

in diese Datei kommen Benutzername und Passwort in der Form

username=mediamaster
password=MEINPASSWORT

ubuntu-smb-4Aus Sicherheitsgründen werden jetzt die Rechte der Datei angepasst.

$ 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.

$ sudo nano /etc/fstab

Der Eintrag muss folgendermaßen aussehen:

#Mount Homeserver
//192.168.178.100/Dokumente /home/MEINUSERNAME/Homeserver/Dokumente cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.178.100/Musik /home/MEINUSERNAME/Homeserver/Musik cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.178.100/Videos /home/MEINUSERNAME/Homeserver/Videos cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0
//192.168.178.100/Public /home/MEINUSERNAME/Homeserver/Public cifs credentials=/home/MEINUSERNAME/.credentials/smbcredentials,users,uid=1000,gid=1000 0 0

Die /etc/fstab sieht dann ungefähr so aus:

ubuntu-smb-5

MEINUSERNAME muss durch den eigenen Benutzername ersetzt werden. uid und gid sind beim ersten Benutzer normalerweise 1000. Wenn jedoch mehrere Benutzer auf dem Rechner angelegt sind kann diese ID auch eine andere sein. Die eigene UID und GID kann durch die Eingabe des Befehls „ID“ in das Terminal überprüft werden.

Jetzt können die Freigaben manuell eingebunden werden. Bei einem Neustart geschieht das automatisch.

$ sudo mount-a

Jetzt sind die Netzwerkfreigaben über die vorhin erstellten Ordner in das Dateisystem eingebunden. Die Icons der Ordner haben jetzt ein kleines Netzwerksymbol erhalten.

ubuntu-smb-6

Nächster Teil der Artikelreihe:
Teil 5 – Selbstgebauter Homeserver/NAS: Apache Webserver PHP und MySQL Datenbank installieren


Dieser Artikel ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.

12 Comments

  1. Super Tutorial, leider komme ich an einem Punkt nicht weiter.

    System 14.04.5

    Und zwar habe ich alles nach Anleitung befolgt, jedoch kann ich kein Owncloud-Konto mit MySQL erstellen.

    Ich bekomme jedesmal die Meldung
    „Das Datenverzeichnis /home/BENUTZERNAME/owncloud kann nicht erstellt oder es kann darin nicht geschrieben werden.“

    Ich bitte um Hilfe!

  2. T.Müller

    Super Anleitung. Hat alles funktioniert. Vielen Dank!

  3. Danke für die gute Anleitung. Hat alles soweit geklappt. Kann die Anleitung auch für Nextcloud verwendet werden?

    • Niko

      Es sollte keinen Unterschied machen ob du Owncloud oder Nextcloud nutzt. Die Anforderungen an das System sind identisch.

  4. Ich komme an einem Punkt nicht weiter. Das einbinden der Freigabe unter Windows. Die Freigaben werden mir angezeigt, aber sobald ich mich mit Nutzername und Passwort anmelden möchte kommt die Meldung:
    „Dieser Netzwerkordner ist zurzeit unter Verwendung eines anderen Namens und Kennwortes verbunden.
    Tremmem Sie zuerst jede bestehende Verbindung auf diese Netzwerkfreigabe, um unter Verwendung eines anderen Namens und Kennwortes verbunden zu werden.“

    Wenn ich es über das Menü unter „Netzwerkadresse hinzufügen“ versuche bekomme ich folgende Meldung:
    „Auf \\wasauchimmer\Dokumente kann nicht zugegriffen werden. Sie haben eventuell keine Berechtigung, diese Netzwerkressource zu verwenden. Wenden Sie sich an den Administrator des Servers, um herauszufinden, ob Sie über die Berechtigungen verfügen.

    Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von demselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig. Trennen Sie alle früheren Verbindungen zu dem Server bzw. der freigegebenen Ressource, und versuchen Sie es erneut.“

    Mein Server läuft auf Ubuntu Server 16.04 und ich versuche über einen Windows 10 Desktop zuzugreifen.

    • Ok ich habe mal kurz die Ubuntu Partition auf meinem PC gestartet und mich mit dem Server verbunden. Anschließend neu gestartet und auf einmal kommt ach Windows ohne Probleme rein.

  5. Valentin Fuchs

    Die Definitionen der Nutzernamen sind alles andere als selbsterklärend. Komplett unterschiedliche Bezüge. Das wäre schon nicht schlecht das mal herauszudeuten, sonst ist das Tutorial (außer man macht exakt das was gezeigt wurde, was nicht unbedingt der Sinn eines Tutorials ist) nämlich absolut wertlos. Es ist so unmöglich auch nur das Geringste aufs eigene Systeme zu adaptieren.

    Vllt n Stück hart, aber ich sitz grade seit 4 Stunden vor der Scheiße und die Nomenklatur von anderen Tutorialseiten was die unterschiedlichen Nutzer angeht, macht es auch nicht einfacher.

    • PEBKAC kann ich da nur sagen.
      Ich habe dieses Tutorial als Leitfaden verstanden und konnte alles super an meine eigenen Bedürfnisse anpassen.
      Und lasse Deinen Frust doch bitte nicht am Autor dieses (kostenlosen!!) Tutorials aus, mit dem viele andere scheinbar schon sehr gut zurecht gekommen sind, sondern hinterfrage erst mal Deine eigene Herangehensweise. Wenn Du dann ein paar freundliche Hinweise hast, wie der Autor das Tutorial für die ggf. nächste Überarbeitung besser aufbauen kann, ist er sicherlich nicht abgeneigt.
      Ich finde solche Einträge zu frei zugänglichen Informationen einfach nur schädlich, weil sie bei allen Frust erzeugen.

  6. Hallo,
    vielen Dank für das Tutorial, die ganze Vorgehensweise ist super erklärt, was ich aber immer noch nicht verstanden habe, was ist der Unterschied zwischen Mediamaster und Mediaaccess? Kannst du bitte genauer erläutern, was die Vorteile/Aufgabe des einzelnen ist?

    VG und danke im Voraus!
    Alex

    • Niko

      Hallo Alex, ich habe die beiden Benutzer angelegt, um die Lese-/Schreibberechtigungen besser kontrollieren zu können. Der Mediamaster, der überall lesen und schreiben darf. Und der Mediaaccess mit eingeschränkten Rechten, so dass man das Passwort z.B. an Gäste herausgeben kann. Wenn Du das System nur alleine benutzt, oder nicht zwischen Gast und Besitzer unterscheiden willst, dann kannst Du auf den Mediaaccess verzichten.

      • Anonymous

        Danke für die schnelle Antwort und eine gute Erklärung!

        VG,
        Alex