如何禁止 SMB1 和 SMB2 但仍允许来自 Linux smbclient 的连接并使用 Thunar 列出共享?

如何禁止 SMB1 和 SMB2 但仍允许来自 Linux smbclient 的连接并使用 Thunar 列出共享?

运行 Samba 服务器,我认为要求加密和 SMB3 是个好主意。因此我尝试在/etc/samba/smb.conf()中设置这两个选项查看文档) 部分[global]

smb encrypt = mandatory
min protocol = SMB3

之后,sudo systemctl restart smbd.servicethunar 中无法再列出共享,并且我在命令行上收到以下错误:

$ smbclient -U myuser -L //myserver
Unable to initialize messaging context
Enter WORKGROUP\myuser's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    myshare1        Disk      my comment1
    myshare2        Disk      my comment2
Reconnecting with SMB1 for workgroup listing.
smbXcli_negprot_smb1_done: No compatible protocol selected by server.
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Unable to connect with SMB1 -- no workgroup available

如果 smb.conf 中没有附加行,也会出现“无法初始化消息传递上下文”消息(不管这意味着什么......),但是没有 SMB1 警告:

$ smbclient -U myuser -L //myserver
Unable to initialize messaging context
Enter WORKGROUP\myuser's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    myshare1        Disk      my comment1
    myshare2        Disk      my comment2
Reconnecting with SMB1 for workgroup listing.

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
    WORKGROUP            MYCLIENTHOSTNAME

经过很长时间的实验后,我注意到 SMB3_11 实际上是自动选择的:

$ smbclient -d10  -U myuser -L //myserver 2>&1 | grep SMB      
 negotiated dialect[SMB3_11] against server[myserver]
signed SMB2 message
Reconnecting with SMB1 for workgroup listing.

但似乎稍后会使用一些 SMB1 和 SMB2 的东西。我认为这只是用于列表之类的,因为 Thunar 可以通过smb://myserver/myshar1直接输入 URL 毫无问题地连接。只有smb://myserver/限制的 才是空的smb.conf

将这两行放入 smb.conf 中以避免大型 LAN 中的未加密连接(也允许外部用户连接)是个好主意吗?有没有针对 Linux 用户损坏列表的解决方案?这在 >= Windows 8 上有效吗?

更新:我想我稍微误解了症状。实际上,附加的行工作正常。smbclient 也可以列出共享,但 Thunar 出于某种原因不能。

更新 2:好像如果没有 SMB1,Thunar 就无法上市,但我不明白为什么。

相关内容