Linux用Windowsサブシステムを使用してUNCパスにアクセスするにはどうすればよいですか?


16

Windows 10用のBASHをダウンロードしました。Windows環境の場合と同じように、ネットワークアドレスに移動するにはどうすればよいですか?SAMBAが言及され、smbclientをダウンロードしたのを見ました。

私が試してみました:

smbclient \\localhost\

エラーが表示されます

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

私はBASHの初心者であり、これをより効率的な機会と考えています。

おまけとして、ネットワークを介したファイルのコピーなどの一般的なタスクの実行方法、およびそのような操作に必要になる可能性が高いため、認証方法を示してください。

回答:


22

最新のWindowsリリース「Fall Creators Update」では、WSL内からUNCパス、またはWindowsがアクセスできるその他のファイルシステムをマウントできます

これは、WSLが提供するmountファイルシステム " drvfs"を使用して、通常のコマンドで実行できます。

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

バックスラッシュをエスケープする必要がないように、単一引用符はUNCパスを囲むのに役立ちます。任意のディレクトリにマウントできます。/mnt/shareここでは例として使用しましたが、空のディレクトリであれば何でもかまいません。

すべてのファイルが完全なa+rwx 777権限で表示されます。ファイルにアクセスしようとすると、実際のアクセス権が確認され、操作が成功するように見えても、その時点でエラーが発生する可能性があります。読み取り可能なファイルはすべて実行可能ファイルとして扱われます。


資格情報が必要な場所には、次の3つのオプションがあります。

  1. マウントする前に、WindowsのFile Explorerを使用してその場所に移動し、認証します。WSLは資格情報と権限を継承します。これは、1回限りの最も簡単な方法です。
  2. net useコマンドプロンプトnet.exe useから、またはWSL内からコマンドを使用します(cd /mnt/c最初に警告を抑制するため)。のようなものが必要になりますnet.exe use \\server\share <PASSWORD> /USER:<USERNAME>。あなたは使用することができる'*'代わりに、プロンプトが表示されるパスワードを入力します。その他の構成はで示されていnet.exe help useます。
  3. Windows Credential Managerを使用して、保存された資格情報をセットアップします。私はこれをやったことがありません。

SambaをWSLの下でも動作させることができることは理解していますが、ホストが同じ機能を提供するため、利用可能な場合はWindowsの組み込みバージョンを使用します。smbclientこれは主にSMBサーバーへのFTPスタイルのアクセスと個々のファイルの取得/書き込み用であり、通常どおり適切に構成されている場合に機能するはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.