Linux & Co.

Linux: USB-Festplatte im Netzwerk freigeben

Mit einer Samba-Freigabe macht Ihr aus jedem Linux-Rechner ein NAS

Netzwerkfreigaben unter Windows werden über SMB (Server Message Block) realisiert. Aber wer nutzt schon einen 24/7-Windows-Server? Meist läuft auf NAS, Raspberry Pis oder sonstigen Mini-Computern doch wieder Linux. Dort ist Samba für das SMB-Protokoll verantwortlich. Und an dieser Stelle genügt im Grunde die billigste Hardware, die Ihr auftreiben könnt – denn für eine simple Netzwerkfreigabe braucht Ihr keine schwergewichtige Desktop-Umgebung und keine komplexe Browser-Oberfläche. Nein, das geht einfacher mit Samba im Terminal – und auf fast jedem System gleich!

Als System kommt hier Ubuntu Server zum Einsatz, das im Gegensatz zur Desktop-Version eben keine Desktop-Umgebung hat und auch sonst deutlich schlanker gehalten ist. Für Mint, Debian und sonstige Distributionen aus der Debian-/Ubuntu-Welt funktioniert es aber genauso. Und letztlich sind es auch auf allen anderen Systemen immer die gleichen beiden Schritte: USB-Festplatte beim Booten einbinden und dann via Samba freigeben.

TLDR-Version

Bevor es langsam und Schritt für Schritt zur Sache geht, hier eine TLDR-Version für Ungeduldige mit Linux-Kenntnissen.

USB mounten:

blkid
UUID notieren
sudo nano /etc/fstab
UUID=XXXXXXXXXX /media/festplatte auto nosuid,nodev,nofail 0 0

Samba-Freigabe:

apt-get install samba
smbpasswd -a mirco
cp /etc/samba/smb.conf ~

sudo nano /etc/samba/smb.conf
[festplatte] path = /media/festplatte
valid users = mirco
read only = no
service smbd restart

1. USB-Festplatte mounten

Zunächst mal benötigt Ihr die Bezeichnung Eurer USB-Festplatte. Führt dazu

sudo blkid

aus. In der Ausgabe müsst Ihr nach Eurer Platte beziehungsweise Partition suchen. Wenn es die zweite Festplatte ist, wird sie als sdb auftauchen, die erste Partition als sdb1 – im Zweifel erkennt Ihr sie am besten an der Größe, die hier auch angegeben wird.

Zum Testen könnt Ihr sie nun manuell einbinden/mounten. Erstellt dazu zunächst einen Mount Point. Solch ein Einhängepunkt ist nichts weiter als ein Ordner, unter dem die Platte dann zu finden ist – unter Windows sind diese Einhängepunkte die Laufwerksbuchstaben. Ihr könnt einen Ordner unterhalb Eures Nutzerverzeichnisses wählen oder auch das typische Verzeichnis /media:

mkdir /media/festplatte
sudo mount /dev/sdb /media/festplatte

Wenn das funktioniert, könnt Ihr nun dafür sorgen, dass die Platte beim Booten automatisch eingebunden wird. Dafür ist unter Linuxen meist die Datei /etc/fstab verantwortlich, die Ihr mit Admin-Rechten bearbeiten müsst. Zunächst führt aber nochmals blkid aus und notiert den Universally Unique Identifier (UUID) heraus, der die Partition eindeutig identifiziert – das sdb1 steht nämlich bei der Verarbeitung der fstab unter Umständen gar nicht zur Verfügung.

sudo blkid

Disk identifier: XXXXXXXXXX

Öffnet nun die fstab mit Admin-Rechten und dem Editor Eurer Wahl – nano ist meist vorhanden und simpel:

sudo nano /etc/fstab

Tragt dann ganz am Ende folgende Zeile ein:

UUID=XXXXXXXXXX /media/festplatte auto nosuid,nodev,nofail 0 0

Die Optionen:

  • auto: Automatische Bestimmung des Typs des Mediums.
  • nosuid: Es wird kein bestimmter Nutzer gesetzt.
  • nodev: Gerätedateien sind nicht erlaubt.
  • nofail: Keine Fehler für das Medium melden, wenn es nicht eingehängt ist.
  • 0: Standardwert für das Backup-Programm dump; heißt, dass das Medium nicht berücksichtigt wird.
  • 0: Standardwret für Dateisystemchecks (fsck); heißt, dass nicht geprüft wird.

Um zu prüfen, ob der fstab-Eintrag funktioniert, mountet einfach alles:

sudo mount -a

Ab sofort steht die USB-Festplatte nach dem Systemstart unter /media/festplatte zur Verfügung.

2. Samba-Freigabe erstellen

Installiert zunächst Samba:

sudo apt-get update
sudo apt-get install samba

Da Samba eigene Nutzer und Passwörter nutzt, legt nun einen Nutzer samt Passwort an. Nehmt dafür dennoch Euren normalen Linux-Nutzer, mit Schreibrechten auf die eingehängte Festplatte:

smbpasswd -a DEINNUTZERNAME

Sicherheitshalber lohnt sich nun ein Backup der Samba-Konfiguration:

sudo cp /etc/samba/smb.conf ~/irgendeinordner

Öffnet nun die smb.conf im Editor mit Admin-Rechten und fügt folgende Zeilen am Ende ein:

[meinefreigabe] path = /media/festplatte
valid users = DEINNUTZERNAME
read only = no

Statt meinefreigabe könnt Ihr natürlich wieder einen beliebigen Namen eintragen – den Ihr später unter Windows zum Einbinden benötigt.

Nun müsst Ihr den Samba-Service nur noch neu starten:

sudo service smbd restart

Anschließend steht die Freigabe im Netzwerk zur Verfügung.

3. Unter Windows einhängen

Windows und Samba nutzen standardmäßig die Arbeitsgruppe WORKGROUP. Solltet Ihr diese in Samba oder Windows geändert haben, müsst Ihr sie natürlich auch auf der Gegenseite anpassen. Das vorweg, so bindet Ihr die neue Freigabe dann unter Windows als Netzlaufwerk ein:

  1. Explorer öffnen und Dieser PC aufrufen.
  2. Computer/Netzlaufwerk verbinden aufrufen.
  3. Laufwerksbuchstaben wählen.
  4. Verbindung mit anderen Anmeldeinformationen herstellen aktivieren.
  5. Freigabe nach folgendem Muster angeben: \\192.168.178.111\meinefreigabe
screenshot von einer netzwerkfreigabe
Samba-Freigabe als Netzlaufwerk unter Windows einhängen.

Wer nun meint, das Ganze sei doch ziemlich kompliziert, so mit Kommandozeile und so … Nun, das Einhängen unter Windows mit der Maus braucht 5 Schritte – wobei alles Nötige bereits installiert ist. Für jede weitere Freigabe im Terminal braucht es nur 3 Schritte – UUID herausfinden, fstab-Eintrag, smb.conf-Eintrag ;)

Und nebenbei und der Vollständigkeit halber: Zudem funktionierte das Einbinden als Netzlaufwerk hier unter Windows anfangs problemlos – dann gar nicht mehr … Aber Windows kann noch mieser: \192.168.178.68\evo** im Browser erreicht die Freigabe sehr wohl. Aufgelöst wird diese Eingabe nach **file://192.168.178.68/evo/ und die wiederum funktioniert sehr wohl im Explorer. Und nach all der Herumspielerei – Heureka! – funktioniert das Netzlaufwerk doch wieder. Typisch Windows-Mist ;) Das Nvidia-Shield-TV-Gerät konnte übrigens die ganze Zeit ohne Probleme auf die Freigabe zugreifen. Da läuft zwar auch nur ein popeliges Android, aber derlei rudimentäre Dinge kann selbst das olle Telefon-OS besser. Technisch gesehen ist Windows an etlichen Stellen einfach nur traurig.

Aber klar, im Terminal braucht man anfangs Hilfestellung und die bekommt Ihr zum Beispiel über unsere hauseigene Linux-Terminal-Hilfe cli.help.

Mirco Lang

Freier Journalist, Exil-Sauerländer, (ziemlich alter) Skateboarder, Dipl.-Inf.-Wirt, Einzelhandelskaufmann, Open-Source-Nerd, Checkmk-Handbuchschreiber. Ex-Saturn'ler, Ex-Data-Becker'ler, Ex-BSI'ler. Computer-Erstkontakt: ca. 1982 - der C64 des großen Bruders eines Freunds. Wenn Ihr hier mehr über Open Source, Linux und Bastelkram lesen und Tutonaut unterstützen möchtet: Über Kaffeesponsoring via Paypal.freue ich mich immer. Schon mal im Voraus: Danke! Nicht verpassen: cli.help und VoltAmpereWatt.de. Neu: Mastodon

3 Kommentare

  1. Hi

    großes danke für diese übersichtliche Anleitung, hat mir wirklich geholfen.

    Ein paar kleine Anmerkungen für einen reibungslosen Ablauf:
    – mkdir /media/festplatte braucht sudo Rechte
    – sudo mount /dev/sdb /media/festplatte meint wahrscheinlich in den meisten Fällen sdb1 statt sdb
    – smbpasswd -a DEINNUTZERNAME braucht sudo Rechte

  2. Moin Mirco,
    zunächst vielen Dank für deine hilfreichen Tips! Deinen obigen Artikel habe ich mit großem Interesse gelesen und frage michh, ob es für mein neues Chromebook ( HP x360 14c ) ähnliches gibt. Der Debian Terminal ist aktiviert und auch sind gnome und flatpack instaliert. Leider erkennt Linux aber keine externen Laufwerke. Ich weiß, das der Linux Container keinen Zugang zu den Medien hat, aber vielleicht gibt es ja eine Hintertür.
    In Erwartung deiner Antwort wünsche ich dir einen guten Rutsch.

    1. Ich habe mich bislang erfolgreich um Chrome OS gedrückt, von daher kann ich da leider nicht so ganz Konkretes zu sagen … Aber folgende Anleitung auf Reddit klingt zumindest plausibel und ist mit einem Jahr auch sicher noch nicht völlig veraltet: https://www.reddit.com/r/chromeos/comments/k36mku/use_your_chromebook_as_a_samba_server/ (Wenn Englisch ein Problem ist: DeepL übersetzt nahezu perfekt.)

      Ich gelobe Besserung was Chrome/Chromium OS angeht ;)

      Ebenfalls einen guten Rutsch!

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Schaltfläche "Zurück zum Anfang"
Schließen

Ooopsi!

Bitte deaktiviere Deinen Adblocker.