У меня есть сервер Debian под управлением smbd (Debian 9.3, samba 4.5.12) и клиент Ubuntu 17.10, с помощью которого я монтирую общие ресурсы samba с помощью команды gio mount (ранее gvfs-mount): gio mount smb://server/storage

Поскольку и сервер, и клиент обновлены, я ожидаю, что они будут договариваться о монтировании с SMB3 или SMB2 по крайней мере, но если я запускаю smbstatus на сервере, монтирование использует NT1 (что 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

Если я добавлю в протокол smb.conf client min protocol = SMB3 , я могу подтвердить, что изменение вступает в силу с помощью 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

Но вывод smbstatus такой же, и монтирование все еще использует NT1 (смонтировано и перемонтировано). Как заставить команду gio mount использовать более поздний протокол, и почему он не работает по умолчанию?

Вот мой 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

Обновить

Другой клиент, который я протестировал (приложение для iPhone), успешно согласовывает SMB2, так что это ограничение gvfs. Я нашел этот связанный вопрос, который предполагает, что он ограничен SMB1, чтобы иметь возможность просматривать сети по узлам. Попробуем предложенный обходной путь и обновим соответственно.

1 ответ1

0

минимальный протокол = SMB2

НЕ

минимальный протокол клиента = SMB3

Там есть лишнее слово.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .