Come posso montare una condivisione SMB dalla riga di comando?


78

Vorrei montare una condivisione di rete SMB dalla riga di comando (terminale); come lo farei?

Sto usando Mac OS X 10.6.4.

Risposte:


71

Si potrebbe facilmente ottenere questo usando mount_smbfs(che in realtà è un wrapper per mount -t smbfs):

mount_smbfs //user@SERVER/folder ./mntpoint

Facoltativamente, aggiungi il gruppo di lavoro:

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

Potresti, ovviamente, cambiare il ./mntpoint(per qualcosa di simile /Volumes/smb).

Dopo averlo fatto, vai semplicemente ./mntpointa sfogliare i tuoi dati.

Per smontare, usando il seguente comando:

umount ./mntpoint

2
Ottengo: `mount_smbfs: errore di montaggio: percorso: errore di input / output ', mentre monta trova tramite Finder-> Connetti al server?
Ian Vaughan

Come posso procedere se il mio nome utente contiene un carattere @? Ad esempio, quando utilizzo un account Microsoft come xyz@microsoft.com? Ho provato a dare il nome utente tra virgolette singole e doppie ma non funziona ..
Yashvit,

2
Ottengo questo errore:mount_smbfs: could not find mount point /Volumes/Share: No such file or directory
Iulian Onofrei l'

11
Citazione da man mountsu OS X Yosemite:Note: You should always use the system mount command and never call mount_smbfs directly.
ssc

3
@Yashvit: modifica '@' in '% 40'
WGroleau

70

Usa il open(1)comando e un URL:

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

Pro: crea il mount point /Volumesper te.

Contro: richiede che il Finder sia in esecuzione.


4
preferisco questa versione per connessioni rapide nella mia rete locale, tutti gli utenti sono conosciuti, quindi questo è un comando più semplice rispetto all'utilizzo di mount_smbfs - dove in realtà ho avuto problemi riguardanti percorsi inesistenti - mentre se avessi bisogno di connettermi ad un nuovo server con filesystem speciale, o avrei bisogno di provare un altro utente o volevo un punto di mount diverso - ok - ma quanto spesso succede ... quindi il mio pollice sale per questa soluzione più semplice! Molto bene! Ok, sono un maniaco del terminale che ha ancora Finder in esecuzione, ma è come il 90% di noi, giusto?
hexerei software,

Non è Findersempre aperto, almeno come processo?
Iulian Onofrei,

1
@Iulian Onofrei: No, a meno che l'utente non abbia effettuato l'accesso in modo interattivo. Ho dovuto usare il mountcomando diretto nei cronlavori. Usando il opencomando, questi fallirebbero se la sessione interattiva fosse sparita, ad es. Dopo un'interruzione di corrente.
George,

Inoltre, nota che openesce sempre come se avesse successo se passava il comando al Finder, anche se il comando in seguito non è riuscito a connettersi all'unità di rete.
Jonathan Wren,

24

Dovresti dare un'occhiata all'aiuto di mount:

man mount

A ben vedere, vedrai che il tipo di filesystem è:

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

La password (e teoricamente il nome utente) sono opzionali.

Il risultato del comando sopra non sarà alcun output (se tutto è andato bene), ma a cd /SomeLocalFolderOfChoice, dovrebbe produrre i risultati remoti. Si prega di notare che SomeLocalFolderofChoice deve esistere.

Puoi anche usare mount_smbfs per sostituire mount -t smbfs.


5

Cosa ha funzionato per me per farli montare durante l'avvio:

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

Per qualche motivo, né il nome breve né il nome FQDN del server hanno funzionato, quindi ho usato 'ping (nome) per ottenere l'IP. In altre parole, DNS risolverebbe il nome, ma mount_smbfs non potrebbe.

E non sono riuscito a inserire il punto di montaggio in / Volumes, perché l'avvio lo eliminerebbe.

Una stranezza: dopo che ha funzionato bene per alcuni giorni, per due o tre giorni, LibreOffice, Adobe Reader e Finder non sono riusciti a trovare UNA delle due condivisioni, ma la shell e TextEdit non hanno avuto problemi. Dopo due o tre giorni, ha misteriosamente ripreso a funzionare.

Se si effettuano queste modifiche e non si desidera riavviare, è possibile montarle con 'auto mount -vc'

Aggiornamento: più stranezze. (1) Ci sono due sistemi WiFi qui e uno di questi non ha accesso ai server Windows. Un paio di volte a settimana, uno o entrambi i router si arrestano. Se il "buono" si interrompe e il MacBook si collega automaticamente all'altro, invece di dirmi che l'unità è offline, i driver SMB dicono "Troppi utenti". (2) Un paio di volte a settimana ricevo il "permesso negato" quando provo ad accedere ai miei file di Windows. Questo di solito dura circa mezz'ora, durante la quale posso andare su una barra di Windows e accedere e vedere i file con lo stesso ID e password.


Dato che questo è stato votato due volte questa settimana, dovrei sottolineare che è stato scritto diverse versioni di MacOS fa.
GrGreau

4

L'uso di AppleScript è utile perché memorizza le tue password nel Portachiavi. Funzione Bash:

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

Richiama "mymount" da bash, inserisci le password tramite il popup Keychain standard e, se tutto va bene, i volumi richiesti verranno montati in / Volumes.


Anche questo è un approccio perfetto. Non mi piace la risposta approvata perché monta come utente root. A mio avviso, questi one-liner dovrebbero essere le migliori opzioni: /usr/bin/osascript -e 'mount volume "smb://username:password@server/share"'oppureopen /Volumes; open 'smb://username:password@server/share'
laimison

3

Vorrei aggiungere che se si dispone di un nome utente del modulo "workgroup \ nomeutente", è necessario montarlo in questo modo:

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

Fonte: adattamento di un esempio da qui


-1

vecchio post ma per quanto riguarda il montaggio in questo modo:

smb://no_username:password@MACHINENAME 

come la macchina del tempo guida?


1
"dalla riga di comando (terminale)" ... questo non è un comando bash valido. Suppongo che intendi con Finder + ⌘K connettersi al server che non è quello che l'OP ha chiesto.
mattmc3,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.