Erros de montagem do compartilhamento CIFS

31

Estou tentando montar um compartilhamento de rede de um Linksys NAS200 para o Fedora 16.

O programa que estou tentando executar não aceita endereços de rede para salvar. Eu o executei sem especificar o endereço IP do servidor e ele vem com um IP aleatório. Especifiquei um IP e ele não consegue encontrar o dispositivo.

Aqui estão os erros:

[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)

Mas funciona com 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

Por que não consigo montar neste servidor samba? O que esses erros significam?

Kendall
fonte

Respostas:

35

Solucione problemas de acesso a uma pasta compartilhada do Windows XP no Fedora:

Você está recebendo o erro:

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

1. Verifique se o Linux pode executar ping na outra caixa.

Execute este comando na caixa linux para o IP da caixa do 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 você não conseguir chegar à caixa ou se a conectividade estiver entrando e saindo, a montagem poderá reclamar.

2. Verifique se uma pasta está realmente compartilhada no Windows, siga estas etapas.

  1. Abra o navegador de arquivos para C:\.
  2. Crie uma nova pasta chamada public. Agora você tem C: \ public
  3. Dentro dessa pasta, crie um novo documento de texto chamado "testing.txt".
  4. Clique com o botão direito na pasta C:\publice vá para Propriedades.
  5. Clique na guia de compartilhamento.
  6. Verifique se "Compartilhar esta pasta na rede" está marcado. Observe o nome do compartilhamento: 'public'.
  7. Clique OK. Uma mãozinha deve aparecer embaixo da pasta, o que significa que ela é compartilhada.

A pasta 'public' agora está compartilhada e você deve conseguir se conectar a ela com o Linux.

3. No Linux, monte o compartilhamento com 'mount':

  1. Abra um console e faça o suroot.
  2. criar um diretório mkdir /mnt/windows Aqui é onde você acessa os arquivos compartilhados.

  3. execute o comando mount que solicita uma senha:

    [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. O comando acima solicita uma senha, digite a senha correta, uma incorreta produzirá um erro. Se você não tiver certeza da senha, pode alterá-la na caixa do Windows em Painel de Controle -> Contas de Usuário.

  5. execute o comando cd /mnt/windows e execute ls. O conteúdo da unidade é apresentado:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  6. Você se conectou à unidade do Windows.

4. Conecte-se à unidade compartilhada com o navegador de arquivos konqueror ou linux:

  1. Abra o navegador de arquivos, no meu caso, o konqueror.
  2. Na barra de localização do arquivo, insira smb://192.168.13.107/publice pressione Enter.
  3. Você pode receber uma caixa de login com nome de usuário e senha. Digite o nome de usuário e a senha da caixa do Windows descrita na parte superior desta postagem.
  4. Parabéns, você está conectado à pasta compartilhada.

SOLUÇÃO DE PROBLEMAS, se o acima não funcionar.

Etapa 1: você tentou reiniciar os dois computadores

Reinicie os dois computadores. Depois disso, verifique se todas as suas atualizações do Windows estão concluídas. Verifique se o Linux também possui suas atualizações de software. Reinicie após atualizações.

Etapa 2: revise seus firewalls, ZoneAlarms e outros softwares de segurança

Um software projetado para proteger seu computador contra vírus, malware ou males na Internet pode estar bloqueando sua tentativa de compartilhamento de arquivos. O firewall do Windows pode estar no modo paranóico. Embora seja improvável que o Firewall do Windows seja o culpado, desative-o temporariamente para verificar se não é o problema. (não o deixe).

Adquira uma lista de todos os softwares de segurança que podem estar configurados no modo paranóico. Firewalls do Windows, firewalls de terceiros, ZoneAlarms, antivírus, Kaspersky, AVG ou qualquer outra coisa que pretenda protegê-lo contra vírus / malware / mal. Você precisará revisá-las e desativá-las temporariamente ou abrir uma lista branca através delas para o seu endereço IP.

Etapa 3: Adquira dicas do software de segurança.

O ZoneAlarm mantém um log de todos os eventos e tentativas de compartilhamento de pastas, vá para Visão geral-> alertas e logs. E veja uma lista de todas as suas tentativas fracassadas. O mesmo é possível para outro software. Nesse caso, está protegendo você de você.

Etapa 4: Suspeitar de problemas no roteador ou na própria rede de área local

Talvez o roteador, as pontes sem fio, os hubs burros ou outro dispositivo de rede possuam algum shenanigan de diretiva, bloqueando a tentativa de conexão da pasta compartilhada. O roteador ou o próprio dispositivo pode estar bloqueando uma porta ou possuir algo no modo restritivo. Alguém está brincando com isso ultimamente? Tente definir o roteador de volta ao padrão de tudo e tente novamente.

Etapa 5: verifique se a sua rede local é simples e correta.

Os dois computadores estão se conectando ao mesmo roteador? Talvez um esteja conectado a uma ponte sem fio de baixa qualidade e o outro a um roteador? Simplifique a rede fazendo com que todos os computadores se conectem a um roteador. Reinicie os roteadores e a Internet, tente novamente.

Etapa 6: ainda não está funcionando. Isole a unidade defeituosa.

É hora de reunir gatos e isolar a unidade defeituosa. Prove que a caixa do Windows não está compartilhando seu arquivo, conectando-se ao compartilhamento com um computador diferente. Obtenha um laptop Windows para amigos ou um produto da Apple e conecte-o à sua rede e veja se eles podem acessar o compartilhamento. Se não puderem, a caixa do Windows tem um problema; se podem, a caixa do Linux tem o problema.

Etapa 7: Suspeitar o firewall no Linux

Anote qualquer alarme de segurança especial ou software de firewall especial no Linux. Execute system-config-firewalle verifique se o smb está marcado. Verifique se o Linux não está impedindo sua montagem. Crie um compartilhamento smb em outra caixa do Linux e tente conectar-se a isso.

Se nada disso funcionar. Use a opção nuclear, reinstale os dois sistemas operacionais e comece de novo na parte superior. Isso é cirurgia de foguete.

Eric Leschinski
fonte
11
Aquele fez isso por mim. A questão, no meu caso foi causado por configurações de firewall que permitiram de ping, mas não permitem conexões SMB na porta TCP 445.
Paul Engrenagem
Note que você pode ter que usar sudo ping 192.168.13.107não apenasping 192.168.13.107
Gabriel Staples
@GabrielStaples Por que você usaria o sudo para isso?
Bryn
Não tenho ideia, mas sei que não teria escrito isso, a menos que eu o tentasse primeiro sem o sudo, e não funcionasse, e depois o tentasse com o sudo, e funcionou. Tenho certeza de que achei estranho também que um funcionasse e um não funcionasse na época.
Gabriel Staples
7

Experimentar:

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

A chave é sec = ntlm

Hugo
fonte
Isso não me dá nenhuma alegria
Paul Engrenagem
11
O que sec=ntlmfaz?
22915 Karl Richter
Não sec=ntlmfaço ideia do que faz, mas esta é a única solução nesta página que funcionou para mim. Edit: aqui está uma resposta em fóruns Ubuntu que explica por que isso funciona: ubuntuforums.org/...
Jonathan Landrum
5

Adicionando mais soluções possíveis para esse problema

Essa mensagem de erro não é muito descritiva, mas o que significa é que a operação expirou. Existem inúmeras razões possíveis para isso e, enquanto pesquisava esse problema, deparei-me com algumas soluções que ainda não foram mencionadas neste segmento.

1.) Rede ambígua

Isso não é mencionado com freqüência nas várias soluções que você pode encontrar para esse problema online, mas o servidor ao qual você está se conectando deve estar na mesma sub-rede da sua máquina local. Esse problema surgiu para mim porque eu tinha as conexões com fio e sem fio ativadas e a determinação de qual sub-rede o dispositivo pertencia era ambígua, pois as duas conexões não são da mesma rede. Desabilitar o Wifi corrigiu o problema instantaneamente. Eu me deparei com essa solução enquanto lia Das Werkstatt :

[SOLUÇÃO]

No meu caso, o compartilhamento DFS estava em um armazenamento em uma sub-rede diferente. Adicionei um alias de rede (eth0: 1) com um IP nessa sub-rede de armazenamento e funcionou.

Eu esperava algo como "nenhuma rota para hospedar" em vez do erro enigmático "(115): Operação agora em andamento" ...

Bem, não posso ter tudo;)

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

2.) Novas linhas no final do arquivo de credenciais

Os arquivos de credenciais são úteis se você tiver caracteres especiais, como vírgula, ,em sua senha. Pode ser referenciado nas opções da seguinte forma:

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

O arquivo está formatado com a shdeclaração de variável -style:

username=me
password=mypassword
domain=mydomain

Se você estiver usando um arquivo de credenciais, verifique se não há caracteres de nova linha no final ou o tempo limite excederá o tempo limite ao tentar analisar o arquivo de credenciais:

...
domain=mydomain
<empty line>

3.) Tentando montar um diretório específico em vez do ponto de compartilhamento real

Se o diretório específico necessário for um subdiretório do compartilhamento, você não poderá montar essa pasta diretamente. Tentar fazer isso resulta em alguns erros diferentes, sendo este um deles.

Em vez disso, monte o próprio ponto de compartilhamento e adicione um link simbólico ao subdiretório necessário:

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

Dessa forma, você obtém o mesmo resultado que monta o próprio subdiretório sem precisar detalhar cada vez.

Jonathan Landrum
fonte
4

Não tenho certeza da relevância disso para o seu caso, mas tive um problema semelhante ao montar um compartilhamento CIFS no meu telefone 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
#

Tentei remover a barra à direita e, aparentemente, fez a diferença - montou:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#
Dragão de Gelo
fonte
11
Sim, os compartilhamentos não são exatamente diretórios, mesmo que os ambientes de desktop gostem de fingir que são.
Eroen
3

O problema na minha situação era que eu tinha espaços no arquivo de credenciais / etc / smb-credentials

username = foobar
password = secret

Depois que eu mudei para:

username=foobar
password=secret

Funcionou.

relipse
fonte
2

Muitas vezes, tenho que citar o arquivo -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt e ele será montado corretamente, e a maioria dos exemplos que eu procurei não mostra isso (se for necessário nesses sistemas).
Na verdade, eu tive esse problema no meu tablet agora mesmo (por que estou aqui querendo o nome UNC e não o IP), as cotações o corrigiram.

mxdog
fonte
1

Possível solução adicional

Se a pasta de compartilhamento for do Windows 10 (provavelmente também se aplica ao 7 e XP), confirme se as configurações de compartilhamento da pasta do Windows estão definidas corretamente para o tipo de rede à qual você está conectado, Publicou seja, ouPrivate .

Vou apenas transmitir a minha experiência e me adaptar à sua situação, conforme apropriado. Abra a lista de redes wifi e, em relação à qual você está conectado, clique em Properties. Defina como Publicou Privateconforme apropriado. (No meu caso, uma Privaterede foi identificada incorretamente Public.)

Depois que a rede estiver classificada corretamente, clique com o botão direito na sua pasta compartilhada, selecione Properties, selecione a Sharingguia, selecione o Network and Sharing Centerlink e verifique se Turn on file and printer sharingestá selecionado para Publicou Privatedependendo do seu tipo de conexão wifi, conforme classificado anteriormente.

Depois disso, consegui conectar uma máquina Debian ao Windows 10 conforme o esperado.

Adam Smith
fonte
0

Outro problema pode estar no DNS. Eu estava recebendo o mesmo erro "operação agora em andamento". Navegando com o Dolphin funcionou bem, no entanto. O nome do host que eu estava usando com sucesso com o Dolphin resolve para 4 endereços IP, um dos quais termina em 0 (é um nome de subdomínio). Quando uso o nome para um dos outros três endereços IP, a montagem funciona. Eu acho que o Dolphin é mais esperto em procurar um host real quando recebe um (sub) nome de domínio do que o mount.

Chris
fonte
Não sei por que minha resposta foi rejeitada. Incluí-o porque estava tendo o mesmo comportamento do OP, mas com uma causa raiz diferente. Sei que o problema do OP foi abordado, mas acho que pode ser útil para outras pessoas que se deparam com esse comportamento saberem que há outra causa possível.
21418 Chris
0

Hoje vi um caso em que alguém estava tentando montar um compartilhamento usando o CIFS, mas o CIFS não estava instalado.

yum install cifs-utils
Advogado do diabo
fonte