Greifen Sie vom Pi-Client aus auf die Netzwerk-Samba-Freigabe zu


13

Ich habe meinen PC verwendet, um mit Samba Server auf RPi auf die Dateien auf RPi zuzugreifen.

Aber gibt es eine Möglichkeit, Samba Connections auf Pi zu öffnen? Mögen Sie das Durchsuchen von Windows PC-Samba-Dateien auf RPi?


1
ftp wäre viel schneller
rav_kr

1
Ja, ich weiß, aber es ist mühsam, den FTP-Server auf allen meinen Windows-PCs zu installieren
Snazzy Sanoj

2
Sie möchten einen Samba- Client . Ich bin mir sicher, dass Sie viele Erklärungen zu solchen finden werden, wenn Sie nach " Linux Samba Client" suchen , obwohl es in einigen davon natürlich darum geht, einen Client zu verwenden, um auf eine Freigabe auf einer Linux-Box zuzugreifen, und nicht umgekehrt. Ich glaube, das CLI-Dienstprogramm dafür ist smbclient.
Goldlöckchen

@goldilocks Danke, aber gibt es eine Problemumgehung für den Standard-Dateimanager, um Samba zu öffnen? :)
Snazzy Sanoj

1
Der Dateimanager in LXDE (die Standard-Desktop-Umgebung auf Raspbian) ist "pacmanfm". Wenn Sie also nach "pacmanfm samba" suchen, sollten Sie eine Reihe von Dingen finden, z. B. askubuntu.com/q/249678/239729, die ich für Samba vorschlage -on-linux-sachen fängst du normalerweise bei U & L an .
Goldlöckchen

Antworten:


21

Installieren Sie zuerst einige Pakete:

apt-get install  samba-common smbclient samba-common-bin smbclient  cifs-utils

Erstellen Sie dann ein lokales Verzeichnis und stellen Sie die Remote-Freigabe bereit:

mkdir /mnt/abc
mount -t cifs //server/share /mnt/abc

Wo serverist Ihr Windows-Computername (DNS oder NetBIOS) und shareist Ihr Windows-freigegebenes Verzeichnis.

Abhängig von dem Zugriff, den Sie auf Ihre Windows-Freigabe gewähren, sind die Anmeldeinformationen erforderlich: Wenn Sie Ihrer Freigabe den Lese- (und Schreib-) Zugriff "Jeder" gewähren, ist nichts anderes erforderlich, andernfalls müssen Sie die Anmeldeinformationen zum Zeitpunkt des Ladevorgangs hinzufügen:

mount -t cifs //server/share /mnt/abc -o user=user,pass=password,dom=domain

Ersetzen Sie mit Ihren eigenen Anmeldeinformationen.
Wenn Sie fertig sind, entfernen Sie einfach die Freigabe:

umount /mnt/abc

+1 Dies hat bei einem gemeinsam genutzten USB-Laufwerk funktioniert, das mit dem USB-Anschluss eines Modems / Routers verbunden ist. Wenn Sie mehr Debugging benötigen, fügen Sie '--verbose' vor dem '-o' hinzu
Denja

Ich habe diesen Fehler mit meinen Anmeldeinformationen: Gerät oder Ressource belegt. Weitere Informationen finden Sie in der Manualpage zu mount.cifs (8) (z. B. man mount.cifs)
Axel Briche,

Ich muss jedes Mal nachsehen, wie das geht. Diese Antwort ist sehr klar und prägnant. Danke :)
Jobbo

4

Wenn für die Samba-Freigabe keine Anmeldeinformationen zum Anmelden erforderlich sind und Sie die Freigabe beim Starten Ihres Himbeer-Pi einbinden möchten, bearbeiten Sie die fstab-Datei als root

sudo nano /etc/fstab

und fügen Sie die folgende Zeile hinzu

//server/share  /mnt/abc  cifs  guest  0  0

Schließen Sie und speichern Sie die Änderungen an der fstab-Datei

Überprüfen Sie, ob alles wie gewünscht verbunden ist

sudo mount -a

Wenn Ihre Samba-Freigabe ein Passwort benötigt, können Sie sich wie folgt mit Ihrem fstab-Eintrag verbinden.

//server/share  /mnt/abc cifs username=username,password=password  0  0

Es ist nicht die beste Idee, diese Methode zu verwenden, wenn andere Benutzer Zugriff auf Ihr RPi oder Netzwerk haben, da fstab für alle lesbar ist und Ihr Kennwort lesen kann.

Eine bessere Lösung ist die Verwendung einer Anmeldeinformationsdatei.

nano ~/.smbcredentials

Geben Sie dann Ihren Benutzernamen und Ihr Passwort in die Datei ein

username=username
password=password

Speichern Sie die Datei und ändern Sie ihre Berechtigungen, damit sie nicht von anderen gelesen werden kann.

chmod 600 ~/.smbcredentials

Bearbeiten Sie dann die fstab als root, um Ihre Samba-Freigabe hinzuzufügen

//server/share  /mnt/abc cifs credentials=/home/pi/.smbcredentials  0  0

erneut testen mit

sudo mount -a

Wenn keine Fehler vorliegen, wird die Freigabe beim Neustart automatisch bereitgestellt.

Nur um etwas hinzuzufügen, stelle ich in den Foren viel fest, wenn jemand eine vernünftige Frage stellt. Warum antworten die Leute mit etwas im Sinne von "Warum tun xxxxxx, yyyyy ist ein besseres"? Das ist nicht das, wonach sie gefragt haben, und es ist nicht einmal hilfreich.


4

Mein Problem war ähnlich. Mein Ziel war dd-wrt Samba Share.

Mein Problem: fstabKann es sowieso nicht mounten (auch von RPi3).

Ich hatte Fehler von "nicht in der Lage, das Passwort an den Verweis auf mount.cifs zu übergeben" zu "ungültiges Argument Fehler 22".

Ich bin auf diesen Beitrag gestoßen: Samba-Freigabe kann nicht gemountet werden: Mounten-Fehler (22) . Diese Antwort legt nahe, dass die Lösung darin besteht vers=1.0, die Optionen für hinzuzufügen mount.

Ich hoffe das hilft dir.


vers = 1.0 löste auch das problem für mich. sudo mount -t cifs // [Remote-IP-Adresse] / downloads / mnt / abc -o vers = 1.0, Benutzer = [Benutzer]
ordentlich

Die Verwendung von vers = 1.0 funktioniert auch bei mir, sudo mount -o vers = 1.0 // [NAS_IP] / nas / media / pi / nas
electron1979

0

Wenn Sie nach dem Versuch, eine Freigabe automatisch bereitzustellen, auf ein Szenario stoßen, in dem der Pi nicht mehr startet, Sie in den "Notfallmodus" versetzt und / oder Ihnen mitteilt, dass das Root-Konto gesperrt ist, können Sie dies wie folgt beheben die Anweisungen finden Sie hier: Raspberry Pi Boot Issue - Root-Konto gesperrt! .

Zusammenfassung der verknüpften Schritte für die Zukunft:

  1. Holen Sie Ihre SD-Karte aus dem Pi und montieren Sie die Karte mit einem Adapter an Ihrem PC, Mac oder Linux.
  2. Sie sollten die /bootPartition Ihrer SD-Karte sehen können.
  3. Suchen Sie die Datei, cmdline.txtund fügen Sie am Ende der Zeile Folgendes hinzu. init=/bin/sh Hinweis: Erstellen Sie keine neue Zeile. Fügen Sie einfach das Obige zum Ende der aktuellen Zeile hinzu.
  4. Laden Sie die SD-Karte wieder in Ihren Pi und booten Sie ihn.
  5. Sie sollten jetzt die Eingabeaufforderung einer Root-Shell erhalten. Von hier aus können Sie die Änderungen an /etc/fstaboder was auch immer rückgängig machen, die anfangs Ihr System beschädigt haben.
  6. In einigen Fällen können Sie Ihre Änderungen nicht speichern und das System beschwert sich über ein schreibgeschütztes Dateisystem. Fahren Sie mit dem nächsten Schritt fort.

Eine Raspberry Pi SD-Karte hat zwei Hauptpartitionen, da wir die Partitionstabelle nicht direkt lesen können, müssen Sie das Gerät für Ihre Root- und Boot-Partitionen manuell lokalisieren. Sie können dies tun, indem Sie in das /devVerzeichnis gehen und etwas Ähnliches wie mmcblk0p1& sehen mmcblk0p2. Das zweite Gerät mmcblk0p2ist Ihre Root-Partition. Sie müssen dies mit Lese- und Schreibrechten erneut einbinden:

mount -o remount,rw /dev/mmcblk0p2 /

Dies lässt sich am einfachsten erreichen, indem Sie die SD-Karte auf einem anderen Computer (Mac / Linux / Windows) einbinden und die cmdline.txtDatei dort bearbeiten .

Ich hatte meine Umgebung mit einem schlechten fstab-Eintrag blockiert und die Befolgung dieser Anweisungen ermöglichte es mir, diesen Fehler zu beheben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.