protocolo min = SMB2
NÃO
protocolo min do cliente = SMB3
Recebemos uma palavra extra.
Eu tenho um servidor Debian rodando smbd (Debian 9.3, samba 4.5.12) e um cliente Ubuntu 17.10 com o qual eu montei os compartilhamentos samba usando o comando gio mount
(anteriormente gvfs-mount
): gio mount smb://server/storage
Como servidor e cliente estão atualizados, eu esperaria que eles negociassem montagens com SMB3 ou SMB2 no mínimo, mas se eu executar smbstatus
no servidor, a montagem está usando NT1 (que AFAIK é SMB1) :
Samba version 4.5.12-Debian
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
12164 darren darren 192.168.10.86 (ipv4:192.168.10.86:34052) NT1 - -
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
storage 12164 192.168.10.86 Thu Dec 21 22:49:30 2017 GMT - -
No locked files
Se eu adicionar client min protocol = SMB3
ao smb.conf, posso confirmar que a alteração tem efeito com testparm -v | grep protocol
:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[home]"
Processing section "[storage]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
client ipc max protocol = default
client ipc min protocol = default
client max protocol = default
client min protocol = SMB3
server max protocol = SMB3
server min protocol = LANMAN1
Mas a saída de smbstatus
é a mesma, e as montagens ainda estão usando o NT1 (ter umount e remontado). Como posso forçar o comando gio mount
a usar um protocolo posterior e por que ele não está funcionando por padrão?
Aqui está o meu smb.conf:
[printers]
guest ok=yes
comment=Attached printers
browseable=no
printable=yes
path=/var/spool/samba
use client driver=yes
[global]
log file=/var/log/samba/log.all
guest account=nobody
load printers=yes
obey pam restrictions=yes
socket options=TCP_NODELAY IPTOS_LOWDELAY
interfaces=br0
map to guest=Bad User
show add printer wizard=no
encrypt passwords=true
passdb backend=tdbsam
unix extensions=no
dns proxy=no
wide links=yes
printing=cups
server string=%h Miniserver
invalid users=root
workgroup = sharefamily
printcap name=cups
#syslog=0
security=user
preferred master=yes
max log size=1000
disable spoolss=Yes
bind interfaces only=yes
client min protocol = SMB3
[home]
hide dotfiles=yes
browseable=yes
writable=yes
admin users=darren
path=/home
write list=darren
hide files=/lost+found/
guest ok=no
create mask=0764
directory mask=0775
comment=Home Directories
hide special files=yes
public=no
[storage]
browseable=yes
inherit owner=yes
inherit permissions=yes
admin users=darren
write list=darren
path=/home/storage
hide files=/lost+found/
guest ok=no
comment=Common storage
read only=yes
hide special files=yes
public=no
atualização
Outro cliente que testei (um aplicativo para iPhone) está negociando com êxito o SMB2, de modo que parece ser uma limitação do gvfs. Eu encontrei esta questão relacionada que sugere que ele é limitado ao SMB1 para poder navegar nas redes por host. Experimentará a solução sugerida e atualizará de acordo.
protocolo min = SMB2
NÃO
protocolo min do cliente = SMB3
Recebemos uma palavra extra.