Comment puis-je accéder aux chemins UNC à l'aide du sous-système Windows pour Linux?

16

J'ai téléchargé BASH pour Windows 10. Comment pourrais-je accéder à une adresse réseau comme je le ferais dans un environnement Windows? J'ai vu SAMBA mentionné et j'ai téléchargé smbclient .

J'ai essayé:

smbclient \\localhost\

Je reçois l'erreur

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

Je suis un utilisateur novice de BASH et je vois cela comme une opportunité d'être plus efficace.

En prime, veuillez montrer comment je pourrais accomplir certaines tâches courantes telles que la copie de fichiers sur un réseau, ainsi que la façon de s'authentifier, car cela serait probablement nécessaire pour de telles opérations.

David Prentice
la source

Réponses:

22

Dans la dernière version de Windows "Fall Creators Update", il est possible de monter des chemins UNC, ou tout autre système de fichiers auquel Windows peut accéder, à partir de WSL .

Vous pouvez le faire avec la mountcommande comme d'habitude, avec le système de fichiers " drvfs" fourni par WSL:

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

Les guillemets simples sont utiles autour du chemin UNC afin que vous n'ayez pas à échapper aux barres obliques inverses. Vous pouvez monter sur un répertoire arbitraire; J'ai utilisé /mnt/sharecomme exemple ici, mais n'importe quel répertoire vide fera l'affaire.

Tous les fichiers s'affichent avec des a+rwx 777autorisations complètes . Les droits d'accès réels seront vérifiés lorsque vous essayez d'accéder à un fichier et vous pouvez obtenir une erreur à ce stade même s'il semble que l'opération devrait réussir. Chaque fichier lisible sera traité comme exécutable.


Pour les emplacements qui nécessitent des informations d'identification, vous avez trois options:

  1. Avant le montage, accédez à l'emplacement à l'aide de l'Explorateur de fichiers de Windows et authentifiez-vous. WSL héritera de vos informations d'identification et autorisations. C'est le moyen le plus simple pour un one-off.
  2. Utilisez la net usecommande à partir d'une invite cmd ou net.exe usede l'intérieur de WSL (d' cd /mnt/cabord pour supprimer un avertissement). Vous aurez besoin de quelque chose comme net.exe use \\server\share <PASSWORD> /USER:<USERNAME>. Vous pouvez utiliser '*'le mot de passe pour être invité à la place. D'autres configurations sont illustrées par net.exe help use.
  3. Utilisez le gestionnaire d'informations d'identification Windows pour configurer des informations d'identification stockées. Je n'ai jamais fait celui-ci.

Je comprends que Samba proprement dit peut également fonctionner sous WSL, mais comme l'hôte fournit les mêmes fonctionnalités, j'utiliserais la version intégrée de Windows lorsqu'elle sera disponible. smbclientest principalement destiné à l'accès de type FTP aux serveurs SMB et à la récupération / mise en place de fichiers individuels, et il devrait fonctionner lorsqu'il est correctement configuré comme d'habitude.

Michael Homer
la source