Come montare una condivisione Windows / Samba su Linux?


21

Sotto Linux (Ubuntu 12.04) voglio montare una partizione Windows / Windows denominata //winsharedsulla rete. Non conosco l'IP o altro.

Su un sistema Ubuntu, sono in grado di montare una directory con

mount  //winshared/mypath /mnt/win

mentre su un altro sistema Ubuntu dà esattamente lo stesso comando

mount error: could not resolve address for winshared: Unknown error

Le impostazioni di rete sembrano essere le stesse su entrambi i sistemi, e ho installato smbfse samba(quest'ultimo con errori). Devo installare qualcos'altro? Devo configurare qualcosa? Come scoprire le differenze cruciali tra i due sistemi per ottenere lo stesso montaggio su entrambi i sistemi?

Informazioni aggiuntive:

  1. Quando uso smbclientper connettermi alla partizione / condivisione di Windows / qualunque cosa, funziona sul primo sistema ma non sull'altro sistema. L'errore è:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Seguendo questo tutorial ho installato smbfse cifs-utils, ma il mountcomando dall'alto dà ancora lo stesso errore, che NON è descritto nel tutorial.

  3. Ho anche una voce in /etc/fstablettura

    //winshared/mypath /mnt/win cifs uid=alexander,credentials=/etc/samba/wincred 0 0
    

    con il file /etc/samba/wincredidentico a uno stesso file sul sistema il mount funziona. Il md5sum di entrambi i file è identico. Pertanto, è possibile escludere un errore relativo alle credenziali.


Guarda il tutorial sul wiki di Ubuntu: wiki.ubuntu.com/MountWindowsSharesPermanently
slm

Ho installato i due pacchetti, ma ho ancora lo stesso errore!
Alex

Ho aggiornato la domanda; Ho pubblicato la riga di fstab e ho verificato che il file delle credenziali è corretto.
Alex

3
Vorrei farlo funzionare dalla prima riga di comando, mettere la linea in / etc / fstab sta solo rendendo più complicato il debug per iniziare. Se non riesci a montare dalla riga di comando, allora è qualcos'altro. Lo uso tutti i giorni:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm

No, la modifica dell'autorizzazione a 600 non risolve il problema.
Alex

Risposte:


15

O hai un problema con il risolutore di nomi (che puoi controllare ad esempio eseguendo il ping dell'host condiviso dal tuo host Ubuntu) o il modulo smbfs non è caricato.

Potrebbe essere necessario installare prima smbfs con apt-get -y install smbfse quindi inserire il modulo con modprobe smbfs, ma dopo dovrebbe essere buono per andare avanti mount -t smbs.

Quello che stai cercando è mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.


smbfsè installato, ma viene modprobe smbfsrestituito FATAL: Module smbfs not found.Devo iniziare smbfsprima? Se é cosi, come? Come avviarlo automaticamente dopo un riavvio?
Alex

@Alex - Non c'è niente da iniziare. Probabilmente ti mancano i pacchetti.
slm

@Alex - guarda questo tutorial di Ubuntu, ha tutto ciò di cui hai bisogno: wiki.ubuntu.com/MountWindowsSharesPermanently
slm

Ho seguito questo tutorial, ma ottengo ancora lo stesso errore!
Alex

1
Su Ubunut 18.04, ho saltato l'installazione di smbfs e ho appena usato -t cifs. Inoltre, puoi omettere l'argomento password se stai eseguendo in modo interattivo poiché mount ti chiederà la password.
MrMas

3

Sto usando un BeagleBone Black con Debian 4.9 e, a causa della sua capacità di archiviazione limitata, avevo bisogno di montare una cartella remota ospitata su un desktop di Windows 10. (So ​​che questo non è probabilmente il migliore dal punto di vista della progettazione del sistema, ma le esigenze aziendali spesso lasciano poco spazio per quello.) Quindi, dovendo improvvisare, una cartella remota montata è ciò che mi è venuto in mente.

Dopo aver incontrato molti, molti problemi che tentano di montare una cartella condivisa di Windows 10, ecco la mia soluzione, in modo che altri possano sperare di beneficiare della mia esperienza.

Host "remoto" di Windows 10

  1. Abilita il supporto di condivisione file SMB1.0 / CIFS nelle funzionalità di Windows ( dettagli ).
  2. Avviare il servizio Windows NetLogon .
  3. Abilita la condivisione sulla cartella che desideri condividere.

Client Debian Linux

  1. Installa i pacchetti di supporto: smbcliente cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Crea directory di destinazione per montare la condivisione remota:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Monta cartella remota:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

    AGGIORNAMENTO: Dopo aver aggiornato la mia installazione locale di Debian alla versione 6.3, il mio mountcomando si è interrotto richiedendomi di aggiungere l' versopzione per specificare SMB1:

    sudo mount -t cifs -o "domain=MYDOMAIN,username=MyUserName,password=myPas$werd,sec=ntlm,vers=1.0" //(your windows host ip)/(your remote share name) /mnt/my_mount_dir
    

2
SMB1 è obsoleto e dovresti davvero cercare di evitare di usarlo dove possibile. Se includi vers=2.1tra le mountopzioni otterrai SMB 2. Faresti anche meglio a usare credentialsinvece di usernamee password. E potresti non aver bisogno del sec=ntmldopo tutto questo.
roaima,

@roaima Grazie per i suggerimenti, ma sono bloccato con le cose vecchie. Grazie per aver corretto anche la formattazione del codice. Non mi permetteva di inserire il codice tra le voci dell'elenco.
Jim Fell,

mountnon si è rotto; è passato all'utilizzo di SMB2 o forse 3. SMB1 è stato deprecato per oltre dieci anni e non dovresti ancora utilizzarlo.
roaima,

@roaima Buono a sapersi, ma sfortunatamente Windows 10 sembra supportare solo "SMB1.0 / CIFS". Inoltre questo è per una rete privata, quindi non sono eccessivamente preoccupato per la sicurezza.
Jim Fell,

Windows 10 supporta SMB2 e SMB3. È stato necessario installare un pacchetto di supporto per consentirgli di ricorrere a SMB1.
roaima,

1

Verificare che winbind sia installato; quindi, nel tuo /etc/nsswitch.conffile, ci deve essere winselencato nella hostsriga.

Qualcosa di simile a:

hosts: files wins dns

Potrebbero essere elencati altri moduli, a seconda dei pacchetti installati sul sistema.


Ho provato questa soluzione ieri su Ubuntu 12.04 a 64 bit e ha funzionato benissimo. Grazie. Oggi sto facendo lo stesso su Ubuntu 12.04 a 32 bit e fallisce, strano.
Czarek Tomczak,

1
@update: risulta che devi installare il pacchetto winbind sudo apt-get install winbind.
Czarek Tomczak,
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.