HowTo: RaspberryPi – Ordner mit SMB freigeben und unter Windows als Netzlaufwerk einbinden

Wenn man mit dem RaspberryPi arbeitet wird man früher oder Später auf das Problem stoßen wie man Dateien auf den RasPi übertragen oder aber vom RasPi herunterkopieren kann.

Dazu gibt es verschiedene Wege. Eine einfache Möglichkeit ist die Übertragung per FTP oder SFTP.

Wenn man über das Internet mit seinem RasPi kommuniziert ist eines von beider sicherlich die erste Wahl. Wenn ihr jedoch im heimischen Netzwerk arbeitet ist es wesentlich komfortabler die Dateien direkt per Windows Explorer auszutauschen.

Um dies zu ermöglichen müsst ihr auf dem RasPi eine Freigabe einrichten, die ihr dann unter Windows als Netzlaufwerk einbinden könnt.

Wie das geht und worauf ihr dabei achten müsste habe ich in dem folgenden Artikel beschrieben.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet ihr den RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist.

Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern
Grundlagen der Navigation im Windows-Explorer

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Per SSH auf dem RaspberryPi einloggen

Um zu beginnen müsst Ihr Euch als erstes mit Putty per SSH auf dem RasPi einloggen. Wie das geht ist im Artikel RaspberryPi - Den RaspberryPi über SSH steuern beschrieben.

Nach der Eingabe Eures Benutzernamen und Passworts könnt Ihr die ersten Befehle eingeben.

Paketverwaltung aktualisieren

Die Paketverwaltung in Linux ist eine "zentrale Stelle" über die sich diverse Software-Pakete installieren lassen. Damit dies zuverlässig funktioniert sollten vor jeder Installation von neuen Paketen die Listen und Quellen der Paketverwaltung aktualisiert werden.

Um das Update der Paketverwaltung zu starten müsst ihr folgenden Befehl eingeben.
sudo apt-get update && sudo apt-get upgrade
Je nachdem wie lange Euer letztes Update der Paketverwaltung her ist kann dieser Vorgang nun etwas dauern. Dabei werden zuerst die Listen aktualisiert in denen auf die einzelnen Paketquellen verwiesen wird.
Danach werden die Pakete selber aktualisiert. Da dabei zusätzlicher Speicher belegt wird, werdet Ihr nochmal nach Eurem Einverständnis gefragt. Dies müsst Ihr mit einem "J" und "Enter" bestätigen.
Ist die Aktualisierung abgeschlossen wird euch eine kleine Zusammenfassung über die Dauer und den Umfang des Updates angezeigt.

Die benötigten Programme bzw. Pakete installieren

Damit ihr einen Ordner Freigeben könnt braucht ihr natürlich ein entsprechendes Programm das unter Linux auch Paket genannt wird. Das benötigte Paket heißt „Samba“. Dies könnt Ihr „Samba“ mit folgendem Befehl installieren:

sudo apt-get install samba
Während der Installation der Updates und den darauf folgenden Pakete kann es zu nachfragen kommen ob ihr damit einverstanden seid, dass durch die zu installierenden Module zusätzlicher Speicherplatz belegt wird.

Diese Nachfragen bestätigt ihr mit einem „j“ und Enter. Die Installation wird dann fortgesetzt.


Den freizugebenden Ordner erstellen

Damit ihr den Zugriff auf einen Ordner freigeben könnt müsst ihr als erstes einen entsprechenden Ordner in eurem Home-Verzeichnis erstellen.

Dies geht mit folgendem Befehl:

mkdir ~/FreigabeOrdner
Dieser erstellt in eurem Homeverzeichnis einen Ordner mit dem Namen “FreigabeOrdner”. Das “~/” vor dem Ordnernamen gibt dabei an, dass dieser Ordner in eurem Homeverzeichnis erstellt werden soll.

Im Screenshot könnt ihr das Homeverzeichnis bevor und nachdem der Ordner „FreigabeOrdner“ erstellt wurde sehen.
In der Ansicht des Homeverzeichnisses nach dem Erstellen des Ordners ist dann der (rot unterstrichene) „FreigabeOrdner“ vorhanden.


Die Samba Konfigurationsdatei anpassen

Nun müssen wir “Samba” noch mitteilen wo der freizugebende Ordner liegt und unter welchen Bedingungen wir diesen gerne freigeben würden. Dies lässt sich alles in der Samba konfigurationsdatei einstellen. Diese heißt smb.conf. Um sie zu bearbeiten müsst ihr folgenden Befehl ausführen:

sudo nano /etc/samba/smb.conf

Nachdem ihr die Konfigurationsdatei geöffnet habt manövriert ihr den Cursor mit den Pfeiltasten zum Ende der Datei(also ganz nach unten). Dort fügt ihr dann folgenden Konfigurationstext ein:

[PiFreigabe]
comment=Raspi 
Sharepath=/home/pi/FreigabeOrdner
browseable=Yes
writeable=Yes
only guest=No
create mask=0740
directory mask=0750
public=no

Am einfachsten ist es, wenn ihr den Text markiert, kopiert und ihn dann mit einem Rechtsklick in der betreffenden Stelle in der Textdatei einfügt.

Falls ihr einen anderen Ordnernamen oder Speicherort für euren freigegebenen Ordner gewählt habt so müsst ihr den entsprechenden Teil unter “path” anpassen.

Diese Konfigurationseinstellungen sorgen dafür, dass ihr in dem Ordner Lese- und Schreibrechte habt, ihn durchsuchen dürft und, dass auch nur Benutzer auf diesen zugreifen dürfen, die sich zuvor mit Benutzernamen und Passwort angemeldet haben.

Um die nun gemachten Änderungen abzuspeichern drückt ihr auf der Tastatur STRG+X und bestätigt die Nachfrage ob ihr vor dem Schließen speichern wollt mit einem „j“(=ja) und ENTER.

Dadurch wurden eure gerade getätigten Änderungen an der Konfigurationsdatei gespeichert.

Samba wird daraufhin automatisch neu gestartet und die neue Konfiguration somit übernommen.


Einen Benutzerzugang einrichten

Da ihr die Freigabe durch die Angaben in der Konfigurationsdatei so konfiguriert habt, dass nur Benutzer mit Benutzername und Passwort auf diese zugreifen dürfen, müssen wir nun auch einen Benutzernamen mit passendem Passwort erstellen.

Bei diesem Benutzernamen handelt es sich um den gleichen wie den aktuell genutzten Linux-Benutzer. Das Passwort darf von diesem allerdings unterschiedlich sein.

Um zum Beispiel den Benutzer „pi“ zu erstellen müsst ihr folgenden Befehl ausführen:

sudo smbpasswd -a pi
Nach der Eingabe werdet ihr zwei Mal zur Eingabe des gleichen Passworts aufgefordert. Die doppelte Eingabe soll verhindern, dass ihr euch bei der einfachen Eingabe vertippt und somit ein falsches, euch unbekanntes Passwort gespeichert würde.

Netzlaufwerk unter Windows einrichten

Mit der Konfiguration unter Linux seid ihr nun fertig.

Nun müsst Ihr den freigegebenen Ordner in Windows als Netzlaufwerk konfigurieren. Ihr könnt dann letztlich auf den freigegebenen Ordner zugreifen als wäre es ein lokales(also an eurem Computer direkt angeschlossenes) Laufwerk.

Um dieses Netzlaufwerk zu konfigurieren öffnet ihr den „Computer“. Also das Fenster in dem euch auch eingesteckte USB Sticks, CD-/DVD-Laufwerke und Festplatten angezeigt werden.

Damit ihr den Menü-Eintrag mit dem ihr ein Netzlaufwerk verbinden könnt sehen könnt müsst ihr als erstes die Menüleiste einblenden.(Wenn sie nicht bereits eingeblendet ist.) Dazu klickt ihr auf den kleinen(rot eingekreisten) Pfeil.
Nun klickt ihr in der oberen Leiste auf „Netzlauferk verbinden“.
…und in dem sich öffnenden Fenster dann auf „Durchsuchen“. Dort sollten euch nun alle Computer die in eurem Netzwerk vorhanden sind angezeigt werden.
Der in diesem Beispiel verwendete RaspberryPi heißt „MAGICMIRROR“. Den Namen eures RasPi’s habt ihr selber festgelegt und sollte hier nun zu finden sein. Um das Netzlaufwerk nun einzurichten müsst ihr auf den Namen eures RasPi’s klicken.
Daraufhin öffnet sich ein Fenster in dem ihr den Benutzername und Passwort eingeben sollt der euch berechtigt auf diesen Computer zuzugreifen. Diese Benutzer/Passwort-Kombination habt ihr zuvor erstellt bzw. festgelegt.

Ihr müsst dazu aber auch Windows sagen, dass es dabei das Benutzerkonto nutzen soll, dass auf dem RaspberryPi erstellt wurde.

Achtung jetzt wird’s ganz kurz kompliziert:
Dies macht ihr indem ihr den Benutzernamen, getrennt von einem Backslash(also dem Schrägstrich auf der Taste des scharfen s), die Domäne des Benutzers voran stellt. Die Domäne des Benutzers ist in diesem Fall euer RasPi.

Lange Rede kurzer Sinn:
Ihr gebt also nicht nur „pi“ ein sondern

„nameEuresRasPiserstellterBenutzername“

ein.
In meinem Beispiel würde dies dann

„magicmirrorpi“

lauten.

In der Passwort-Zeile wird das Passwort ganz normal eingegeben.
Danach klickt ihr auf „OK“.

…und findet euch in diesem Fenster wieder. Hier wählt ihr nun euren freigegebenen Ordner aus, setzt einen Haken bei „Verbindung bei Anmeldung wiederherstellen“ und klickt auf „Ok“ und „Fertig stellen“.

Daraufhin schließt sich das Fenster und ein neues Fenster wird kurz darauf geöffnet.

Dies ist das nun verbundene Netzwerklaufwerk.

Dieser Ordner zeigt euch jetzt also direkt den Inhalt des auf dem RasPi freigegebenen Ordners an. Alle Dateien die ihr nun in dieses Laufwerk kopiert werden direkt auf den RasPi kopiert.


Ihr wisst nun also wie man auf dem RasPi einen Ordner freigibt und als Netzwerklaufwerk auf einem Windows-System einbindet.

Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

3 Kommentare

  1. Hi zusammen,

    ich hatte gestern die Frage in den falschen Beitrag gestellt, sorry dafür.

    Mein Problem ist, das, obwohl ich die externe HDD (3.5 ” mit eigener Stromversorgung) in OMV einbinden kann und auch unter Windows Freigaben bereitstellen kann, mir keine Dateien oder Ordner auf dem Netzlaufwerk angezeigt werden. Meldung: “Ordner ist leer”.

    Eine andere externe SSD (Nvme mit Adapter) wird angezeigt und ich kann auf alle Dateien zugreifen.

    Eigentlich kann es nur an der HDD oder dem Dateiformat liegen, oder liege ich hier falsch? Das Dateiformat der 3.5″ ist NTFS, das der kleinen BTRFS.

    Was auffällig ist, unter Storage – Shared Folders wird unter Device bei den Nvme der übliche Pfad angezeigt:
    /dev/sda, bei der großen der Partitionsname “Movies” .

    Der absolute Pfad, wird jedoch korrekt angezeigt. Hat jemand einen Tipp für mich was das Problem sein könnte. Das Tutorial ist klasse und ich habe es genauso befolgt, jedoch ohne Erfolg.

    Achja, Windows verlangt beim erstellen des Netzlaufwerks keinen Benutzernamen und Passwort.

    Danke euch schonmal.

    Gruß

    Markus

    1. Hi Markus,
      so ad hoc habe ich keine direkte Idee. Es sollte eigentlich auch mit NTFS funktionieren.
      Kannst du mir mal die ausgabe von dem Befehl “df -h” hier rein kopieren, wenn die 3,5″ Festplatte angeschlossen ist.
      Das sollte alle angeschlossenen Laufwerke inkl. deren Mountpoints auflisten. 🙂
      Beste Grüße
      Fabian

Kommentar hinterlassen

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.