Jak uzyskać dostęp do ścieżek UNC za pomocą podsystemu Windows dla systemu Linux?

16

Pobrałem BASH dla systemu Windows 10. Jak przejść do adresu sieciowego, tak jak w środowisku Windows? Widziałem o SAMBA wspomniane i pobrałem smbclient .

Próbowałem:

smbclient \\localhost\

Otrzymuję błąd

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

Jestem początkującym użytkownikiem BASH i widzę w tym szansę na zwiększenie wydajności.

Jako bonus proszę pokazać, jak mogłem wykonać niektóre typowe zadania, takie jak kopiowanie plików w sieci, a także sposób uwierzytelnienia, ponieważ prawdopodobnie byłoby to wymagane do takich operacji.

David Prentice
źródło

Odpowiedzi:

22

W najnowszej wersji Windows „Fall Creators Update” można montować ścieżki UNC lub dowolny inny system plików, do którego Windows może uzyskać dostęp, z poziomu WSL .

Możesz to zrobić za pomocą mountpolecenia, jak zwykle, z systemem plików drvfsdostarczonym przez WSL:

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

Pojedyncze cudzysłowy są przydatne wokół ścieżki UNC, dzięki czemu nie musisz uciekać przed odwrotnymi ukośnikami. Możesz zamontować w dowolnym katalogu; Użyłem /mnt/sharetutaj jako przykładu, ale zrobi to każdy pusty katalog.

Wszystkie pliki zostaną wyświetlone z pełnymi a+rwx 777uprawnieniami. Rzeczywiste prawa dostępu zostaną sprawdzone podczas próby uzyskania dostępu do pliku. W tym momencie możesz otrzymać błąd, nawet jeśli operacja się powiedzie. Każdy czytelny plik będzie traktowany jako plik wykonywalny.


W przypadku lokalizacji wymagających poświadczeń masz trzy opcje:

  1. Przed montażem przejdź do lokalizacji za pomocą Eksploratora plików systemu Windows i uwierzytelnij się. WSL odziedziczy twoje poświadczenia i uprawnienia. Jest to najprostszy sposób na jednorazowe.
  2. Użyj net usepolecenia z wiersza polecenia cmd lub net.exe usez poziomu WSL ( cd /mnt/cnajpierw, aby wyłączyć ostrzeżenie). Potrzebujesz czegoś takiego net.exe use \\server\share <PASSWORD> /USER:<USERNAME>. Zamiast tego można użyć '*'monitu o podanie hasła. Inne konfiguracje są pokazane za pomocą net.exe help use.
  3. Użyj Menedżera poświadczeń systemu Windows, aby skonfigurować przechowywane poświadczenia. Nigdy tego nie zrobiłem.

Rozumiem, że samba Samba może również działać pod WSL, ale ponieważ host zapewnia tę samą funkcjonalność, użyłbym wbudowanej wersji z Windows, gdy jest ona dostępna. smbclientsłuży przede wszystkim do dostępu w stylu FTP do serwerów SMB oraz pobierania / umieszczania pojedynczych plików i powinien działać, gdy jest odpowiednio skonfigurowany jak zwykle.

Michael Homer
źródło