148 votos

¿Cómo puedo montar un recurso compartido SMB desde la línea de comandos?

Me gustaría montar un recurso compartido de red SMB desde la línea de comandos (terminal); ¿cómo lo haría?

Estoy usando Mac OS X 10.6.4.

2 votos

He publicado un responder aquí para una pregunta similar, con un resumen de los diferentes métodos para hacerlo y sus ventajas e inconvenientes.

125voto

tlindner Puntos 161

Utilice el open(1) y una URL:

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

Pros: Crea el punto de montaje en /Volumes para ti.

Contras: Requiere que el Finder esté funcionando.

4 votos

¡Prefiero esta versión para las conexiones rápidas en mi red local, allí todos los usuarios son conocidos, por lo que este es un comando más simple que el uso de mount_smbfs - donde en realidad tenía problemas en relación con las rutas no existentes - mientras que si tuviera que conectarse a algún nuevo servidor con el sistema de archivos especial, o tendría que tratar de otro usuario o quería punto de montaje diferente - bien - pero ¿cuántas veces sucede esto ... así que mi pulgar va para arriba para esta solución más simple! ¡Bien hecho! Ok, soy un fanático de la Terminal que todavía tiene Finder en funcionamiento, pero eso es como el 90% de nosotros, ¿verdad?

0 votos

¿No es Finder siempre abierto, al menos como proceso?

2 votos

@Iulian Onofrei: No, a menos que el usuario esté conectado de forma interactiva. He necesitado usar el directo mount comando en cron trabajos. Utilizando el open Estos fallarían si la sesión interactiva desapareciera, por ejemplo, después de un corte de energía.

119voto

Greg Hurlman Puntos 10944

Esto se puede conseguir fácilmente con mount_smbfs (que es, en realidad, una envoltura para mount -t smbfs ) :

mount_smbfs //user@SERVER/folder ./mntpoint

Opcionalmente, añada el grupo de trabajo :

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

Por supuesto, puede cambiar el ./mntpoint (para algo como /Volumes/smb ).

Después de hacer esto, simplemente vaya a ./mntpoint para navegar por sus datos.

Para desmontar, utilizando el siguiente comando :

umount ./mntpoint

2 votos

Obtengo : `mount_smbfs: error de montaje: ruta: Input/output error', mientras que monta encontrar a través de Finder->Connect to Server?

0 votos

¿Cómo lo hago si mi nombre de usuario tiene un carácter @? Por ejemplo, cuando estoy usando una cuenta de Microsoft como xyz@microsoft.com ? Intenté poner el nombre de usuario entre comillas simples y dobles pero no funcionó.

0 votos

Me sale este error: mount_smbfs: illegal option -- W

35voto

UnkwnTech Puntos 21942

Deberías echarle un vistazo a la ayuda de Mount:

man mount

Al inspeccionar más de cerca verás que el tipo del sistema de archivos es:

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

La contraseña (y teóricamente el nombre de usuario) son opcionales.

El resultado del comando anterior no será ninguna salida (si todo ha ido bien), sino un cd /SomeLocalFolderOfChoice debería producir los resultados remotos. Tenga en cuenta que AlgunaCarpetaLocaldeElegir debe existir.

También puedes usar mount_smbfs para reemplazar el mount -t smbfs.

3 votos

Desafortunadamente, el punto de montaje resultante será propiedad de Root, lo que disminuye la utilidad de este método.

27voto

M W Puntos 11

El uso de AppleScript es conveniente porque almacena sus contraseñas en el Llavero. Función Bash:

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

Invoca 'mymount' desde bash, introduce las contraseñas a través de la ventana emergente estándar de Keychain, y si todo va bien los volúmenes solicitados se montarán en /Volumes.

6 votos

Ese es el enfoque perfecto también. No me gusta la respuesta aprobada porque se monta como usuario Root. En mi opinión, estas líneas de uno deben ser las mejores opciones: /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"' o open /Volumes; open 'smb://username:password@server/share'

1 votos

Mejora adicional en caso de que quiera utilizar el nombre de usuario actual conectado: sustituya "smb://user@fqdn1/volume1" con ""smb://$(id -un)@fqdn1/volume1" . El comando bash id -un resuelve al usuario conectado.

2 votos

Gracias por esta respuesta. Además de hacer lo "normal" que hace MacOS -es decir, ponerlo en /Volúmenes, hacer el directorio por mí, hacer que se monte como el usuario apropiado, usar la entrada correcta del llavero automáticamente- también parece bloquearse hasta que la unidad esté realmente montada, que es exactamente lo que quiero cuando estoy ejecutando scripts.

8voto

WGroleau Puntos 255

Lo que me ha funcionado para que se monten durante el arranque:

==> /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

Por alguna razón, ni el nombre corto ni el FQDN del servidor funcionaron, así que usé 'ping (nombre) para obtener la IP. En otras palabras, DNS resolvería el nombre, pero mount_smbfs no podría.

Y no podía poner el punto de montaje en /Volúmenes, porque el arranque lo borraría.

Una peculiaridad: Después de que esto funcionara bien durante unos días, durante dos o tres días, LibreOffice, Adobe Reader y Finder no podían encontrar UNA de las dos acciones, pero el shell y TextEdit no tenían ningún problema. Después de dos o tres días de eso, misteriosamente empezó a funcionar de nuevo.

Si haces estas ediciones y no quieres reiniciar, puedes montarlas con 'auto mount -vc'

Actualización: Más rarezas. (1) Hay dos sistemas WiFi aquí, y uno de ellos no tiene acceso a los servidores de Windows. Un par de veces a la semana, uno o ambos routers se caen. Si el "bueno" se cae y el MacBook se conecta automáticamente al otro, en lugar de decirme que la unidad está desconectada, los controladores SMB dicen "Demasiados usuarios". (2) Un par de veces a la semana, obtengo "permiso denegado" cuando intento acceder a mis archivos de Windows. Esto suele durar una media hora, durante la cual puedo ir a una barra de Windows e iniciar sesión y ver los archivos con el mismo ID y contraseña.

1 votos

Ya que esto ha sido votado dos veces esta semana, debo señalar que fue escrito varios versiones de MacOS hace.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X