Bagaimana saya bisa mengakses jalur UNC menggunakan Subsistem Windows untuk Linux?

16

Saya telah mengunduh BASH untuk Windows 10. Bagaimana cara saya menavigasi ke alamat jaringan seperti pada lingkungan Windows? Saya telah melihat SAMBA disebutkan dan telah mengunduh smbclient .

Saya telah mencoba:

smbclient \\localhost\

Saya menerima kesalahan

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

Saya adalah pengguna pemula BASH, dan melihat ini sebagai peluang untuk menjadi lebih efisien.

Sebagai bonus tolong tunjukkan bagaimana saya bisa menyelesaikan beberapa tugas umum seperti menyalin file di jaringan, serta cara mengautentikasi karena ini kemungkinan akan diperlukan untuk operasi tersebut.

David Prentice
sumber

Jawaban:

22

Dalam rilis Windows terbaru "Fall Creators Update" dimungkinkan untuk me-mount path UNC, atau sistem file lain yang dapat diakses Windows, dari dalam WSL .

Anda dapat melakukan ini dengan mountperintah seperti biasa, dengan sistem file " drvfs" yang disediakan oleh WSL:

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

Kutipan tunggal berguna di sekitar jalur UNC sehingga Anda tidak perlu melarikan diri dari garis miring terbalik. Anda dapat memasang pada direktori arbitrer; Saya telah menggunakan /mnt/sharesebagai contoh di sini, tetapi direktori kosong apa pun akan melakukannya.

Semua file akan muncul dengan a+rwx 777izin penuh . Hak akses yang sebenarnya akan diperiksa ketika Anda mencoba mengakses file, dan Anda bisa mendapatkan kesalahan pada saat itu bahkan jika sepertinya operasi harus berhasil. Setiap file yang dapat dibaca akan diperlakukan sebagai file yang dapat dieksekusi.


Untuk lokasi yang memerlukan kredensial Anda memiliki tiga opsi:

  1. Sebelum pemasangan, navigasikan ke lokasi menggunakan Windows Explorer File dan otentikasi. WSL akan mewarisi kredensial dan izin Anda. Ini adalah cara termudah untuk satu kali.
  2. Gunakan net useperintah dari cmd prompt, atau net.exe usedari dalam WSL ( cd /mnt/cpertama untuk menekan peringatan). Anda akan membutuhkan sesuatu seperti net.exe use \\server\share <PASSWORD> /USER:<USERNAME>. Anda bisa menggunakan '*'kata sandi yang diminta. Konfigurasi lain ditunjukkan dengan net.exe help use.
  3. Gunakan Windows Credential Manager untuk mengatur kredensial yang disimpan. Saya belum pernah melakukan ini.

Saya mengerti bahwa Samba yang tepat dapat dibuat untuk bekerja di bawah WSL juga, tetapi karena tuan rumah menyediakan fungsionalitas yang sama saya akan menggunakan versi built-in dari Windows ketika itu tersedia. smbclientterutama untuk akses gaya FTP ke server SMB dan mengambil / meletakkan file individual, dan itu harus berfungsi ketika dikonfigurasi dengan tepat seperti biasa.

Michael Homer
sumber