Como montar um Windows / samba windows share no Linux?

21

No Linux (Ubuntu 12.04), quero montar uma partição / compartilhamento do Windows denominada //winsharedna rede. Eu não sei o IP ou qualquer outra coisa.

Em um sistema Ubuntu, sou capaz de montar um diretório com

mount  //winshared/mypath /mnt/win

enquanto em outro sistema Ubuntu, exatamente o mesmo comando apenas fornece

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

As configurações de rede parecem iguais nos dois sistemas e eu instalei smbfse samba(o último com erros). Preciso instalar outra coisa? Preciso configurar alguma coisa? Como descobrir as diferenças cruciais entre os dois sistemas para obter o mesmo trabalho de montagem nos dois sistemas?

Informação adicional:

  1. Quando eu uso smbclientpara conectar-me à partição / compartilhamento do Windows / o que for, ele funciona no primeiro sistema, mas não no outro sistema. O erro é:

    Connection to winshared failed (Error NT_STATUS_BAD_NETWORK_NAME)
    
  2. Seguindo este tutorial , instalei smbfse cifs-utils, mas o mountcomando acima ainda dá o mesmo erro, que NÃO é descrito no tutorial.

  3. Eu também tenho uma entrada na /etc/fstableitura

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

    com o arquivo /etc/samba/wincredidêntico a um mesmo arquivo no sistema, a montagem funciona. O md5sum de ambos os arquivos é idêntico. Portanto, um erro em relação às credenciais pode ser excluído.

Alex
fonte
Veja o tutorial na Wiki do Ubuntu: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Eu instalei os dois pacotes, mas ainda assim recebo o mesmo erro!
Alex
Eu atualizei a pergunta; Publiquei a linha do fstab e verifiquei se o arquivo de credenciais está correto.
8283 Alex
3
Gostaria que isso funcionasse a partir da linha de comando 1, colocar a linha no / etc / fstab está apenas tornando mais complicado a depuração para iniciar. Se você não pode montar a partir da linha de comando, é outra coisa. Eu uso isso todos os dias:mount -t cifs -o rw,netbiosname=serv1,credentials=/etc/creds.txt //192.168.1.1/somedir /mnt
slm
Não, alterar a permissão para 600 não resolve o problema.
11283 Alex

Respostas:

15

Você tem um problema com o resolvedor de nomes (que pode ser verificado, por exemplo, executando ping no host winshared do seu host Ubuntu) ou o módulo smbfs não está carregado.

Você pode ter que instalar o smbfs primeiro com apt-get -y install smbfse depois inserir o módulo modprobe smbfs, mas depois disso você deve continuar mount -t smbs.

O que você está procurando é mount -t smbfs -o username=<your_username>,password=<your_password> //server/share /mountpoint.

Sami Laine
fonte
smbfsestá instalado, mas modprobe smbfsretorna FATAL: Module smbfs not found.Devo começar smbfsprimeiro? Se sim, como? Como fazê-lo iniciar automaticamente após uma reinicialização?
Alex
@ Alex - Não há nada para começar. Você está perdendo pacotes provavelmente.
slm
@Alex - veja este tutorial do Ubuntu, ele tem tudo o que você precisa: wiki.ubuntu.com/MountWindowsSharesPermanently
slm
Eu segui este tutorial, mas ainda assim recebo o mesmo erro!
Alex
11
No Ubunut 18.04, eu pulei a instalação do smbfs e apenas o usei -t cifs. Além disso, você pode omitir o argumento da senha se estiver executando interativamente, pois o mount solicitará sua senha.
MrMas 25/03
3

Estou usando um BeagleBone Black executando o Debian 4.9 e, devido à sua capacidade de armazenamento limitada, precisava montar uma pasta remota hospedada em uma área de trabalho do Windows 10. (Eu sei que isso provavelmente não é o melhor do ponto de vista de design de sistema, mas as empresas geralmente precisam deixar pouco espaço para isso.) Portanto, tendo que improvisar, uma pasta remota montada é o que eu criei.

Depois de encontrar muitos, muitos problemas, tentando montar uma pasta compartilhada do Windows 10, aqui está minha solução, para que outras pessoas possam se beneficiar da minha experiência.

Host "Remoto" do Windows 10

  1. Ative o suporte ao compartilhamento de arquivos SMB1.0 / CIFS nos recursos do Windows ( detalhes ).
  2. Inicie o serviço Windows NetLogon .
  3. Ative o compartilhamento na pasta que você deseja compartilhar.

Cliente Debian Linux

  1. Instale os pacotes de suporte: smbcliente cif-utils:

    sudo apt-get install smbclient
    sudo apt-get install cifs-utils
    
  2. Crie o diretório de destino para montar o compartilhamento remoto:

    sudo mkdir -p /mnt/my_mount_dir
    
  3. Montar pasta 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
    

    ATUALIZAÇÃO: Após atualizar minha instalação local do Debian para a versão 6.3, meu mountcomando foi interrompido, exigindo que eu adicionasse a versopção para especificar 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
    
Jim Fell
fonte
2
O SMB1 está desatualizado e você realmente deve evitar usá-lo sempre que possível. Se você incluir vers=2.1nas mountopções, obterá o SMB 2. Você também seria melhor usar em credentialsvez de usernamee password. E você pode não precisar do sec=ntmldepois de tudo isso.
roaima 12/02
@roaima Obrigado pelas dicas, mas estou preso usando as coisas antigas. Obrigado por corrigir a formatação do código também. Não estava me deixando colocar o código entre os itens da lista.
Jim Fell
mountnão quebrou; mudou para o uso do SMB2 ou possivelmente 3. O SMB1 foi descontinuado por mais de dez anos e você ainda não deveria usá-lo.
roaima
@roaima É bom saber, mas infelizmente o Windows 10 parece suportar apenas "SMB1.0 / CIFS". Além disso, isso é para uma rede privada, então não estou muito preocupado com segurança.
Jim Fell
O Windows 10 suporta SMB2 e SMB3. Você tinha que instalar um pacote de suporte para permitir que ele retornasse ao SMB1.
roaima
1

Verifique se o winbind está instalado; então, no seu /etc/nsswitch.confarquivo, ele deve estar winslistado na hostslinha.

Algo como:

hosts: files wins dns

Pode haver outros módulos listados, dependendo de quais pacotes estão instalados no seu sistema.

Juliano
fonte
Tentei esta solução ontem no Ubuntu 12.04 64bit e funcionou muito bem. Obrigado. Hoje estou fazendo o mesmo no Ubuntu 12.04 32bit e falhar, estranho.
Czarek Tomczak
11
@update: Acontece que você precisa instalar o pacote winbind sudo apt-get install winbind.
Czarek Tomczak