CIFS condividono errori di montaggio


31

Sto cercando di montare una condivisione di rete da un NAS200 Linksys a Fedora 16.

Il programma che sto cercando di eseguire non accetta gli indirizzi di rete in cui salvare. L'ho eseguito senza specificare l'indirizzo IP del server e viene fornito con un IP casuale. Ho specificato un IP e non riesce a trovare il dispositivo.

Ecco gli errori:

[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass
mount.cifs kernel mount options: ip=184.106.31.190,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,ip=192.168.1.77
ip address 192.168.1.77 override specified
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
Retrying with upper case share name
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\PUBLIC,,ver=1,user=user,pass=********
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Ma funziona con smbclient:

[root@HOME ~]# smbclient -L 192.168.1.77
WARNING: The security=share option is deprecated
Enter user's password: 
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (Network Storage)
DISK 1          Disk      
PUBLIC          Disk      
ADMIN$          IPC       IPC Service (Network Storage)
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Server               Comment
---------            -------
HOME                 Samba Server Version 3.6.5-85.fc16
NAS_SERVER           Network Storage

Workgroup            Master
---------            -------
HOME                 HOME

Perché non riesco a montare su questo server samba? Cosa significano questi errori?

Risposte:


35

Risolvi i problemi di accesso a una cartella condivisa di Windows XP da Fedora:

Stai ricevendo l'errore:

mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

1.Assicurati che Linux possa eseguire il ping dell'altra casella.

Esegui questo comando sul box linux sull'IP del box windows:

el@defiant /mnt $ ping 192.168.13.107
PING 192.168.13.107 (192.168.13.107) 56(84) bytes of data.
64 bytes from 192.168.13.107: icmp_req=1 ttl=128 time=0.366 ms
--- 192.168.13.107 ping statistics ---
44 packets transmitted, 44 received, 0% packet loss, time 42999ms
rtt min/avg/max/mdev = 0.178/0.227/0.366/0.038 ms

Se non riesci a raggiungere il box o la connettività è in entrata e in uscita, mount potrebbe lamentarsi.

2. Assicurarsi che una cartella sia effettivamente condivisa su Windows, attenersi alla seguente procedura.

  1. Apri il browser dei file su C:\.
  2. Crea una nuova cartella chiamata public. Quindi ora hai C: \ public
  3. All'interno di quella cartella, crea un nuovo documento di testo chiamato "testing.txt".
  4. Fare clic con il tasto destro sulla cartella C:\publice andare su Proprietà.
  5. Fai clic sulla scheda di condivisione.
  6. Assicurati che: "Condividi questa cartella sulla rete" sia selezionato. Nota il nome della condivisione: "pubblico".
  7. Clicca ok Una piccola mano dovrebbe apparire sotto la cartella, nel senso che è condivisa.

La cartella "pubblica" è ora condivisa e dovresti essere in grado di collegarti ad essa con Linux.

3. Su Linux, montare la condivisione con 'mount':

  1. Apri una console e fai il suroot.
  2. crea una directory mkdir /mnt/windows Qui accederai ai file condivisi.

  3. eseguire il comando mount che richiede una password:

    [root@defiant mnt]# mount -t cifs //192.168.13.107/eric /mnt/windows -o username=eric
    Password for eric@//192.168.13.107/public:  **********
    [root@defiant mnt]# 
    
  4. Il comando sopra ti richiede una password, inserisci la password corretta, una errata produrrà un errore. Se non si è sicuri della password, è possibile modificare la password nella finestra di Windows in Pannello di controllo -> Account utente.

  5. eseguire il comando cd /mnt/windows ed eseguire ls. I contenuti del disco sono presentati:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  6. Ti sei collegato all'unità Windows.

4. Connettiti all'unità condivisa con il browser dei file konqueror o linux:

  1. Apri il tuo browser di file, nel mio caso konqueror.
  2. Nella barra della posizione del file, immettere smb://192.168.13.107/publice premere Invio.
  3. È possibile che ti venga presentato un box di login con nome utente e password. Inserisci il nome utente e la password della finestra di Windows descritta nella parte superiore di questo post.
  4. Congratulazioni, sei connesso alla cartella condivisa.

RISOLUZIONE DEI PROBLEMI, se quanto sopra non funziona.

Passaggio 1: hai provato a riavviare entrambi i computer

Riavvia entrambi i computer. Successivamente, assicurati che tutti gli aggiornamenti di Windows siano stati eseguiti. Assicurati che anche Linux abbia curato i suoi aggiornamenti software. Riavvia dopo gli aggiornamenti.

Passaggio 2: rivedere i firewall, gli ZoneAlarm e altri software di sicurezza

Un software progettato per proteggere il tuo computer da virus, malware o mali su Internet potrebbe bloccare il tuo tentativo di condivisione di file. Il firewall di Windows potrebbe essere in modalità paranoica. Anche se è improbabile che sia colpa di Windows Firewall, spegnilo temporaneamente per verificare che non sia il problema. (non lasciarlo spento).

Acquisisci un elenco di tutti i software di sicurezza che potrebbero essere impostati in modalità paranoica. Windows Firewall, firewall di terze parti, ZoneAlarm, Antivirus, Kaspersky, AVG o qualsiasi altra cosa che pretenda di proteggerti da virus / malware / malware. Dovrai rivederli e spegnerli temporaneamente o aprire una lista bianca attraverso di essi per il tuo indirizzo IP.

Passaggio 3: acquisire indizi dal software di sicurezza.

ZoneAlarm conserva un registro di tutti gli eventi e tentativi di condivisione delle cartelle, vai a Panoramica-> avvisi e registri. E guarda un elenco di tutti i tuoi tentativi falliti. Lo stesso è possibile per altri software. In tal caso, ti sta proteggendo da te.

Passaggio 4: sospetti problemi nel router o nella stessa rete locale

Forse il router, i bridge wireless, gli hub stupidi o altri dispositivi di rete contengono un po 'di direttiva shenanigan bloccando il tentativo di connessione alla cartella condivisa. Il router o il dispositivo stesso potrebbero bloccare una porta o avere qualcosa in modalità restrittiva. Qualcuno l'ha preso in giro ultimamente? Prova a ripristinare il router per impostazione predefinita e riprova.

Passaggio 5: assicurarsi che la rete locale sia semplice e corretta.

Entrambi i computer sono collegati allo stesso router? Forse uno è collegato a un bridge wireless netgear schifoso e l'altro a un router? Semplifica la rete facendo connettere tutti i computer a un router. Riavvia i router e Internet, riprova.

Passaggio 6: non funziona ancora. Isolare l'unità difettosa.

È tempo di radunare i gatti e isolare l'unità difettosa. Prova che la finestra di Windows non sta condividendo il tuo file collegandoti alla condivisione con un altro computer. Ottieni un laptop Windows amico o un prodotto Apple e connettilo alla tua rete e vedi se possono accedere alla condivisione. Se non possono, la finestra di Windows ha un problema, se possono, la scatola di Linux ha il problema.

Passaggio 7: sospettare il firewall su Linux

Prendi nota di eventuali allarmi di sicurezza speciali o speciali software firewall su Linux. Esegui system-config-firewalle assicurati che smb sia selezionato. Verifica che Linux non impedisca il tuo mount. Crea una condivisione smb su un altro box Linux e prova a connetterti.

Se nulla di tutto questo funziona. Utilizzare l'opzione nucleare, reinstallare entrambi i sistemi operativi e ricominciare da capo. Questa è la chirurgia missilistica.


1
Quello lo ha fatto per me. Il problema nel mio caso è stato causato dalle impostazioni del firewall che consentivano il ping ma non consentivano connessioni SMB sulla porta TCP 445.
Paul Gear

Si noti che potrebbe essere necessario utilizzare sudo ping 192.168.13.107non soloping 192.168.13.107
Gabriel Staples

@GabrielStaples Perché dovresti usare sudo per questo?
bryn,

Non ne ho idea, ma so che non l'avrei scritto se non lo avessi provato prima senza sudo, e non avesse funzionato, e poi l'ho provato con sudo, e ha funzionato. Sono sicuro di aver pensato che anche allora uno funzionasse e uno no.
Gabriel Staples,

7

Provare:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm

La chiave è sec = ntlm


Ciò non mi dava gioia
Paul Gear,

1
Cosa fa sec=ntlm?
Karl Richter,

Non sec=ntlmho idea di cosa faccia, ma questa è l'unica soluzione in questa pagina che ha funzionato per me. Modifica: ecco una risposta sui forum di Ubuntu che spiega perché funziona: ubuntuforums.org/…
Jonathan Landrum,

5

Aggiunta di più soluzioni possibili a questo problema

Questo messaggio di errore non è molto descrittivo, ma ciò significa che l'operazione è scaduta. Ci sono numerose possibili ragioni per questo, e durante la ricerca di questo problema, ho incontrato alcune soluzioni che non sono ancora state menzionate in questo thread.

1.) Rete ambigua

Non viene spesso menzionato nelle varie soluzioni che è possibile trovare online a questo problema, ma il server a cui ci si sta connettendo deve trovarsi nella stessa sottorete del computer locale. Questo problema è emerso per me perché avevo entrambe le connessioni cablate e wireless abilitate e determinare a quale sottorete apparteneva il dispositivo era ambiguo, poiché le due connessioni non sono la stessa rete. La disabilitazione di Wifi ha risolto il problema all'istante. Mi sono imbattuto in questa soluzione durante la lettura di Das Werkstatt :

[SOLUZIONE]

Nel mio caso, la condivisione DFS era su una memoria in una sottorete diversa. Ho aggiunto un alias di rete (eth0: 1) con un IP in quella sottorete di archiviazione e poi ha funzionato.

Mi sarei aspettato qualcosa come "nessun percorso da ospitare" invece dell'errore criptico "(115): Operazione ora in corso" ...

Bene, non posso avere tutto;)

Fonte: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074

2.) Newline alla fine del file delle credenziali

I file delle credenziali sono utili se ,nella password sono presenti caratteri speciali come la virgola . Si può fare riferimento nelle opzioni in questo modo:

mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo

Il file è formattato con shuna dichiarazione di variabile di stile:

username=me
password=mypassword
domain=mydomain

Se si utilizza un file di credenziali, assicurarsi che non ci siano caratteri di nuova riga alla fine, altrimenti si verificherà il timeout durante il tentativo di analizzare il file di credenziali:

...
domain=mydomain
<empty line>

3.) Tentativo di montare una directory specifica anziché il punto di condivisione effettivo

Se la directory specifica necessaria è una sottodirectory della condivisione, non sarà possibile montare direttamente quella cartella. Tentare di farlo comporta un paio di errori diversi, questo è uno di questi.

Montare invece il punto di condivisione stesso, quindi aggiungere un collegamento simbolico alla sottodirectory necessaria:

~> mkdir /mnt/local
~> sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder

In questo modo, si ottiene lo stesso risultato del montaggio della sottodirectory stessa senza dover eseguire il drill down su di essa ogni volta.


4

Non sono sicuro di quanto sia rilevante per il tuo caso, ma ho avuto un problema simile nel montare una condivisione CIFS sul mio telefono Android:

# mount -t cifs //192.168.0.2/media/ /mnt/cifs/media -o username=user,password=pass
mount: mounting //192.168.0.2/media/ on /mnt/cifs/media failed: No such device or address
#

Ho provato a rimuovere la barra finale e apparentemente ha fatto la differenza - ha montato:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#

1
Sì, le condivisioni non sono esattamente directory, anche se gli ambienti desktop amano fingere di esserlo.
Eroen,

3

Il problema nella mia situazione era che avevo degli spazi nel file delle credenziali / etc / smb-credentials

username = foobar
password = secret

Dopo averlo cambiato in:

username=foobar
password=secret

Ha funzionato.


2

Devo spesso citare -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt e si monterà su e la maggior parte degli esempi che ho cercato non mostrano quel bit (se necessario su quei sistemi).
In realtà ho avuto quel problema sul mio tablet proprio ora (perché sono qui desiderato un nome UNC non IP) le virgolette hanno risolto il problema.


1

Ulteriore possibile soluzione

Se la cartella di condivisione proviene da Windows 10 (probabilmente si applica anche a 7 e XP), confermare che le impostazioni di condivisione della cartella Windows siano configurate correttamente per il tipo di rete a cui si è connessi, ovvero PublicoPrivate .

Trasmetterò la mia esperienza e mi adatterò alla tua situazione come appropriato. Apri l'elenco delle reti wifi e per quello a cui sei connesso, fai clic su Properties. Impostare su Publico Privatecome appropriato. (Nel mio caso, una Privaterete è stata etichettata in modo errato Public.)

Una volta che la rete è stata classificata correttamente, fare clic con il tasto destro sulla cartella condivisa, selezionare Properties, selezionare la Sharingscheda, selezionare il Network and Sharing Centercollegamento e assicurarsi che Turn on file and printer sharingsia selezionato per Publico in Privatebase al tipo di connessione Wi-Fi come precedentemente classificato.

Dopo averlo fatto, sono stato in grado di connettere una macchina Debian a Windows 10 come previsto.


0

Un altro problema può essere con DNS. Stavo ottenendo lo stesso errore "operazione in corso". Navigare con Dolphin ha funzionato bene, però. Il nome host che stavo usando con successo con Dolphin si risolve in 4 indirizzi IP, uno dei quali termina con 0 (è un nome di sottodominio). Quando uso il nome per uno degli altri 3 indirizzi IP, mount funziona. Immagino che Dolphin sia più intelligente nel cercare un vero host quando gli viene assegnato un nome di dominio (sub) rispetto a mount.


Non so perché la mia risposta sia stata votata in negativo. L'ho incluso perché stavo ottenendo lo stesso comportamento dell'OP ma con una causa radice diversa. So che il problema del PO è stato risolto, ma penso che potrebbe essere utile per gli altri che si imbattono in questo comportamento sapere che esiste un'altra possibile causa.
Chris,

0

Oggi ho visto un caso in cui qualcuno stava cercando di montare una condivisione utilizzando CIFS ma CIFS non era installato.

yum install cifs-utils
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.