Já faz um tempo desde que usei o SAMBA para acessar compartilhamentos de rede. Estava funcionando bem em 19.xx, mas acho que pode estar quebrado em 20.04 e 20.10 (estou usando 20.10).
Não consigo acessar os compartilhamentos no meu próprio computador local, embora pareça ser capaz de acessar os compartilhamentos no meu roteador. Aparece uma caixa de diálogo de erro, com uma mensagem sobre "Falha ao recuperar a lista de compartilhamento do servidor"? Desculpe, não me lembro da mensagem de erro exata.
Acho que sei qual pode ser o problema. Parece que o SMB1 pode ter sido desativado por motivos de segurança, mas o SMB2/3 ainda pode estar lá. Não sei exatamente como descobrir isso.
testparm
passado. findsmb
e smbtree
não funcionou (mas agora funciona, após o patch a seguir).
Editei /etc/samba/smb.conf e adicionei o seguinte à seção de rede...
client min protocol = NT1
server min protocol = NT1
name resolve order = bcast host lmhosts wins
reiniciei o smbd e o nmbd, e isso parece ter corrigido. Acho que isso reativa o SMB1... mas não sou especialista em SAMBA aqui.
Agora smbstatus
mostra...
Samba version 4.12.5-Ubuntu
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
24943 nobody nogroup satellite-e55 (ipv6:fe80::c433:26d6:91d2:3475:59876) NT1 - -
19177 nobody nogroup satellite-e55 (ipv4:192.168.0.100:57868) NT1 - -
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
IPC$ 19177 satellite-e55 Sat Mar 20 07:17:40 PM 2021 PDT - -
IPC$ 24943 satellite-e55 Sun Mar 21 07:56:25 AM 2021 PDT - -
No locked files
É isso que está acontecendo e implementei a correção correta/melhor? O que aconteceu em 20.xx que pode ter causado esse problema?
Atualização nº 1:
nmap --script smb-protocols IPofServer/32
Meu roteador...
~$ nmap --script smb-protocols 192.168.0.1/32
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-22 07:01 PDT
Nmap scan report for caspurr.local (192.168.0.1)
Host is up (0.012s latency).
Not shown: 986 closed ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
548/tcp open afp
631/tcp open ipp
5000/tcp open upnp
8200/tcp open trivnet1
9100/tcp open jetdirect
9101/tcp open jetdirect
9102/tcp open jetdirect
9103/tcp open jetdirect
20005/tcp open btx
49152/tcp open unknown
Host script results:
| smb-protocols:
| dialects:
| NT LM 0.12 (SMBv1) [dangerous, but default]
| 2.02
| 2.10
| 3.00
| 3.02
|_ 3.11
Nmap done: 1 IP address (1 host up) scanned in 4.21 seconds
Meu PC...
~$ nmap --script smb-protocols 192.168.0.100/32
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-22 07:03 PDT
Nmap scan report for ubuntu-eth0.local (192.168.0.100)
Host is up (0.00012s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
Host script results:
| smb-protocols:
| dialects:
| NT LM 0.12 (SMBv1) [dangerous, but default]
| 2.02
| 2.10
| 3.00
| 3.02
|_ 3.11
Há dois problemas aqui - na verdade três - que se combinaram para causar o problema que você relatou.
Um é um bug no gvfs ( gvfsd-smb-browse ) que é conectado para usar SMB1 ( NT1 ) para obter uma lista dos servidores e seus compartilhamentos quando você os procura em seu gerenciador de arquivos.
A segunda é a decisão do Sambas de desabilitar (mas não remover) SMB1 no lado do cliente e do servidor.
Seu servidor samba pode ser executado entre SMB2.02 e SMB3. O bug no gvfs faz com que o cliente samba tente acessar esse servidor usando SMB1 que o servidor não consegue entender, então lança um erro:
Existem três maneiras de contornar esse problema:
[1] Ignore o gvfsd-smb-browse solicitando o servidor e seu compartilhamento em Connect to Server:
smb://server-host-name.local/share-name
O cliente e o servidor Samba se conectarão usando SMB3.
[2] OU faça o que você acabou de fazer e defina o servidor mínimo e o cliente para SMB1 ( NT1 ). A TI também se conectará usando SMB3 porque o servidor e o cliente negociam um com o outro para determinar o melhor dialeto a ser usado após a conexão SMB1 inicial.
[3] OU use uma montagem mount.cifs que também se conectará usando SMB3. Isso deve ser configurado no fstab para acontecer automaticamente.
Se isso faz você se sentir melhor, uma máquina Win10 recém-instalada não poderá "descobrir" seu servidor samba porque também desativou o SMB1. A solução é a mesma do seu sistema Linux: Conecte-se com um
\\server-host-name.local
OR ative o SMB1 no lado do cliente do Win10, o que a Microsoft realmente não quer que ninguém faça.Mesmo problema aqui. Minha máquina Windows estava funcionando bem com meu servidor Samba local, mas minha máquina Ubuntu 20.04.4 não podia. Normalmente, no meu navegador de arquivos Ubuntu, eu acessaria o servidor com:
mas não funcionaria.
A solução que funciona para mim é substituir o nome do servidor pelo endereço IP do servidor. Exemplo: