158 votes

Comment puis-je monter un partage SMB à partir de la ligne de commande ?

Je voudrais monter un partage réseau SMB à partir de la ligne de commande (terminal) ; comment dois-je procéder ?

J'utilise Mac OS X 10.6.4.

2 votes

J'ai posté un répondre ici pour une question similaire, avec un aperçu des différentes méthodes pour y parvenir et de leurs avantages et inconvénients.

129voto

tlindner Points 1247

Utilisez le open(1) et une URL :

open 'smb://username:password@server/share'

Pros : Crée le point de montage dans /Volumes pour vous.

Inconvénients : nécessite que le Finder soit en cours d'exécution.

4 votes

Je préfère cette version pour les connexions rapides dans mon réseau local, où tous les utilisateurs sont connus, c'est donc une commande plus simple que d'utiliser mount_smbfs - où j'ai eu des problèmes concernant des chemins inexistants - alors que si j'avais besoin de me connecter à un nouveau serveur avec un système de fichiers spécial, ou si j'avais besoin d'essayer un autre utilisateur ou de vouloir un point de montage différent - ok - mais combien de fois cela se produit-il... donc mon pouce se lève pour cette solution plus simple ! Bien fait ! Ok, je suis un fou de Terminal qui a toujours Finder en marche, mais c'est le cas de 90% d'entre nous, non ?

0 votes

N'est-ce pas ? Finder toujours ouvert, au moins en tant que processus ?

2 votes

@Iulian Onofrei : Non, sauf si l'utilisateur est connecté de manière interactive. J'ai eu besoin d'utiliser la méthode directe mount dans cron emplois. En utilisant le open ces derniers échouent si la session interactive a disparu, par exemple après une panne de courant.

126voto

Greg Hurlman Points 10944

Vous pouvez facilement y parvenir en utilisant mount_smbfs (qui est, en fait, une enveloppe pour le programme mount -t smbfs ) :

mount_smbfs //user@SERVER/folder ./mntpoint

En option, ajoutez le groupe de travail :

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

Vous pourriez, bien sûr, modifier le ./mntpoint (pour quelque chose comme /Volumes/smb ).

Après avoir fait cela, il suffit d'aller sur ./mntpoint pour parcourir vos données.

Pour démonter, utilisez la commande suivante :

umount ./mntpoint

2 votes

J'obtiens : `mount_smbfs : mount error : path : Input/output error', alors qu'il monte trouver via Finder->Connect to Server ?

0 votes

Comment dois-je procéder si mon nom d'utilisateur contient un caractère @ ? Par exemple, si j'utilise un compte Microsoft comme xyz@microsoft.com ? J'ai essayé de mettre le nom d'utilisateur entre guillemets simples et doubles mais ça n'a pas marché

1 votes

Je reçois cette erreur : mount_smbfs: illegal option -- W

34voto

UnkwnTech Points 21942

Vous devriez jeter un coup d'œil à l'aide de mount :

man mount

En regardant de plus près, vous verrez que le type du système de fichiers est :

mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

Le mot de passe (et théoriquement le nom d'utilisateur) est facultatif.

Le résultat de la commande ci-dessus ne sera pas une sortie (si tout s'est bien passé), mais un fichier cd /SomeLocalFolderOfChoice devrait produire des résultats à distance. Veuillez noter que Un dossier local de choix doit exister.

Vous pouvez également utiliser mount_smbfs pour remplacer le mount -t smbfs.

3 votes

Malheureusement, le point de montage résultant sera la propriété de Root, ce qui diminue l'utilité de cette méthode.

32voto

wytten Points 281

L'utilisation d'AppleScript est pratique car elle permet de stocker vos mots de passe dans le trousseau. Fonction Bash :

function mymount
{
    osascript <<EOF
mount volume "smb://user@fqdn1/volume1"
mount volume "smb://user@fqdn2/volume2"
EOF
}

Appelez 'mymount' depuis bash, entrez les mots de passe via la fenêtre popup standard du trousseau, et si tout va bien, les volumes demandés seront montés dans /Volumes.

8 votes

C'est aussi une approche parfaite. Je n'aime pas la réponse approuvée car elle monte en tant qu'utilisateur de Root. À mon avis, ces réponses à une ligne devraient être les meilleures options : /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"' o open /Volumes; open 'smb://username:password@server/share'

1 votes

Amélioration supplémentaire au cas où vous souhaiteriez utiliser le nom d'utilisateur actuellement connecté : remplacez "smb://user@fqdn1/volume1" avec ""smb://$(id -un)@fqdn1/volume1" . La commande bash id -un correspond à l'utilisateur connecté.

4 votes

Merci pour cette réponse. En plus de faire les "choses habituelles" que MacOS fait - c'est-à-dire le mettre dans /Volumes, créer le répertoire pour moi, le monter en tant qu'utilisateur approprié, utiliser automatiquement l'entrée correcte du trousseau - il également semble bloquer jusqu'à ce que le lecteur soit réellement monté, ce qui est exactement ce que je veux lorsque j'exécute scripts.

8voto

WGroleau Points 3272

Ce qui a marché pour moi, c'est de les faire monter pendant le démarrage :

==> /etc/auto_master <==
#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_smb          # add this line <**********

==> /etc/auto_smb <==         # Create this if it doesn't exist <****
/(not Volumes)/Public   -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Public
/(not Volumes)/ WGroleau -fstype=smbfs,soft smb://(user):(password)@192.168.140.5/data/Students/wes_groleau

Pour une raison quelconque, ni le nom court ni le FQDN du serveur ne fonctionnaient, j'ai donc utilisé 'ping (nom) pour obtenir l'IP. En d'autres termes, le DNS résout le nom, mais pas mount_smbfs.

Et je ne pouvais pas mettre le point de montage dans /Volumes, car le démarrage le supprimerait.

Une bizarrerie : après que cela ait bien fonctionné pendant quelques jours, pendant deux ou trois jours, LibreOffice, Adobe Reader et le Finder ne pouvaient pas trouver UN des deux partages, mais le shell et TextEdit n'avaient aucun problème. Après deux ou trois jours de cela, cela a mystérieusement recommencé à fonctionner.

Si vous faites ces modifications et ne voulez pas redémarrer, vous pouvez les monter avec 'auto mount -vc'.

Mise à jour : d'autres bizarreries. (1) Il y a deux systèmes WiFi ici, et l'un d'eux n'a pas accès aux serveurs Windows. Plusieurs fois par semaine, l'un ou les deux routeurs tombent en panne. Si le "bon" tombe en panne et que le MacBook se connecte automatiquement à l'autre, au lieu de me dire que le lecteur est hors ligne, les pilotes SMB disent "Trop d'utilisateurs". (2) Plusieurs fois par semaine, j'obtiens "permission refusée" lorsque j'essaie d'accéder à mes fichiers Windows. Cela dure généralement une demi-heure environ, pendant laquelle je peux me rendre dans un bar Windows et me connecter et voir les fichiers avec le même identifiant et le même mot de passe.

2 votes

Puisque cela a été voté deux fois cette semaine, je dois préciser que cela a été écrit plusieurs versions de MacOS il y a.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X