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?
smbclient
.
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?
smbclient
.
Antworten:
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 server
ist Ihr Windows-Computername (DNS oder NetBIOS) und share
ist 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
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.
Mein Problem war ähnlich. Mein Ziel war dd-wrt Samba Share.
Mein Problem: fstab
Kann 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.
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:
- Holen Sie Ihre SD-Karte aus dem Pi und montieren Sie die Karte mit einem Adapter an Ihrem PC, Mac oder Linux.
- Sie sollten die
/boot
Partition Ihrer SD-Karte sehen können.- Suchen Sie die Datei,
cmdline.txt
und 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.- Laden Sie die SD-Karte wieder in Ihren Pi und booten Sie ihn.
- Sie sollten jetzt die Eingabeaufforderung einer Root-Shell erhalten. Von hier aus können Sie die Änderungen an
/etc/fstab
oder was auch immer rückgängig machen, die anfangs Ihr System beschädigt haben.- 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
/dev
Verzeichnis gehen und etwas Ähnliches wiemmcblk0p1
& sehenmmcblk0p2
. Das zweite Gerätmmcblk0p2
ist 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.txt
Datei 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.