(Isenção de responsabilidade - Sou relativamente novato no Linux. Tenho mais experiência com o Solaris)
Isso pode estar relacionado aos problemas que enfrentei ao configurar o Samba no Ubuntu 15.04 nos últimos dias. Na minha configuração, eu estava simplesmente tentando configurar compartilhamentos em vários desktops do Ubuntu e em um desktop do Windows 10, em uma rede doméstica.
Os sintomas que experimentei foram que o Nautilus poderia navegar na rede, mas quando tentei autenticar, ele falhava e solicitava novamente a senha, ou parecia ter êxito, mas fazia o Nautilus travar ou travar . Em outras ocasiões, ele se conectaria e eu poderia criar arquivos com êxito nos diretórios compartilhados.
Depois de ler um número muito grande de postagens de outras pessoas em assuntos semelhantes, eu configurei o nível de depuração 10 nos daemons smbclient e backend nmbd e smbd e comparei conexões bem-sucedidas e mal-sucedidas.
As comparações destacaram dois problemas que, uma vez resolvidos os dois, resolveram meus problemas.
Primeiro, meus nomes de host estavam resolvendo para vários endereços IP. Isso porque, no passado, eu conectei as mesmas máquinas ao roteador via Wi-Fi e via ethernet. Como cada interface tem um endereço MAC diferente, o roteador tem endereços IP diferentes para eles, mas usa o mesmo nome de host.
Esse resultado pode ser observado se você usar algo como nslookup para resolver seu hostname (aqui, o arquivo home-svr tem apenas um endereço feliz):
$ nslookup home-file-svr
Server: 127.0.1.1
Address: 127.0.1.1#53
Resposta não autoritativa: Nome: home-file-svr.home Endereço: 192.168.1.68
Cometi o erro de alterar os nomes de host que o roteador usava para esses sistemas adicionando -wifi e -wired sufixos em sua configuração de rede doméstica (no roteador) e depois descobri que não estava resolvendo os nomes para os sistemas locais em absoluto, e bizarramente resolvido a nomes na Internet. Portanto, em resumo para esta seção, certifique-se de que seu nome de host seja resolvido para um único endereço.
Segundo, e muito mais difícil de depurar, era por que uma conexão smbclient falhava na primeira vez, depois funcionava e depois falhava novamente.
$ smbclient //home-file-svr/public -U tim
Enter tim's password:
session setup failed: NT_STATUS_UNSUCCESSFUL
smbclient //home-file-svr/public -U tim
Enter tim's password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 4.1.13-Ubuntu]
smb: >
Além disso, isso só aconteceu quando havia mais de um sistema na rede. O culpado acabou por ser winbind. A comparação dos rastreamentos mostrou que a primeira tentativa de conexão tenta criar uma entrada de cache para o mapeamento de GID para SID com um tempo negativo grande (usando a data de hora zero do Unix - 1970). A segunda tentativa não foi e foi bem sucedida.
Remover o winbind de todos os sistemas Ubuntu funcionou para a minha rede, pois não tenho / não configurei um domínio do Windows na minha rede.