Wie kann ich mit dem Windows-Subsystem für Linux auf UNC-Pfade zugreifen?

15

Ich habe BASH für Windows 10 heruntergeladen. Wie würde ich in einer Windows-Umgebung zu einer Netzwerkadresse navigieren? Ich habe SAMBA erwähnt und smbclient heruntergeladen .

Ich habe versucht:

smbclient \\localhost\

Ich erhalte den Fehler

ERROR: Could not determine network interfaces, you must use a interfaces config file

Ich bin ein Anfänger von BASH und sehe dies als Gelegenheit, effizienter zu sein.

Als Bonus zeigen Sie bitte, wie ich einige übliche Aufgaben ausführen kann, z. B. das Kopieren von Dateien über ein Netzwerk sowie das Authentifizieren, da dies für solche Vorgänge wahrscheinlich erforderlich wäre.

David Prentice
quelle

Antworten:

21

In der neuesten Windows-Version "Fall Creators Update" ist es möglich, UNC-Pfade oder jedes andere Dateisystem, auf das Windows zugreifen kann, in WSL bereitzustellen .

Sie können dies mountwie gewohnt mit dem Befehl " drvfs" des von WSL bereitgestellten Dateisystems tun :

sudo mount -t drvfs '\\server\share' /mnt/share

Um den UNC-Pfad herum sind einfache Anführungszeichen nützlich, damit Sie den umgekehrten Schrägstrichen nicht entgehen müssen. Sie können in ein beliebiges Verzeichnis einbinden. Ich habe hier /mnt/shareals Beispiel verwendet, aber jedes leere Verzeichnis wird ausreichen.

Alle Dateien werden mit vollständigen a+rwx 777Berechtigungen angezeigt. Die tatsächlichen Zugriffsrechte werden überprüft, wenn Sie versuchen, auf eine Datei zuzugreifen. An diesem Punkt kann ein Fehler angezeigt werden, auch wenn der Vorgang anscheinend erfolgreich sein sollte. Jede lesbare Datei wird als ausführbar behandelt.


Für Standorte, für die Anmeldeinformationen erforderlich sind, stehen drei Optionen zur Verfügung:

  1. Navigieren Sie vor dem Mounten mit dem Windows-Datei-Explorer zum Speicherort und authentifizieren Sie sich. Die WSL erbt Ihre Anmeldeinformationen und Berechtigungen. Dies ist der einfachste Weg für eine einmalige.
  2. Verwenden Sie den net useBefehl an einer cmd-Eingabeaufforderung oder net.exe usein WSL (um cd /mnt/czuerst eine Warnung zu unterdrücken). Du wirst sowas brauchen net.exe use \\server\share <PASSWORD> /USER:<USERNAME>. Sie können dafür verwenden '*', dass stattdessen das Kennwort abgefragt wird. Andere Konfigurationen werden mit angezeigt net.exe help use.
  3. Verwenden Sie den Windows-Anmeldeinformations-Manager, um gespeicherte Anmeldeinformationen einzurichten. Ich habe das noch nie gemacht.

Ich verstehe, dass Samba auch unter WSL zum Laufen gebracht werden kann, aber da der Host die gleiche Funktionalität bietet, würde ich die integrierte Version von Windows verwenden, wenn sie verfügbar ist. smbclientist in erster Linie für den FTP-Zugriff auf SMB-Server und das Abrufen / Ablegen einzelner Dateien gedacht und sollte bei ordnungsgemäßer Konfiguration wie gewohnt funktionieren.

Michael Homer
quelle