Linux

如何檢查 SMB 連接和在 linux 上使用的方言?

  • March 29, 2020

我想檢查 SMB 連接中的方言版本。

在 Windows 上,Get-SmbConnection會得到它。

PS C:\Windows\system32> Get-SmbConnection
ServerName    ShareName     UserName     Credential   Dialect      NumOpens
----------    ---------     --------     ----------   -------      -------
savdal08r2    c$            SAVILLTEC... SAVILLTEC... 2.10         1
savdalfs01    c$            SAVILLTEC... SAVILLTEC... 3.00         1

在 macOS 上, smbutil statshares -a執行良好。

我應該在 linux 上做什麼?

如果您在 Linux 上執行 Samba 伺服器,smbstatus應顯示每個客戶端使用的協議版本。

如果 Linux 是客戶端,這取決於您使用的是哪個客戶端:如果您使用的是核心級cifs文件系統支持,在所有新核心中,答案是您/proc/mounts查看是否安裝選項文件系統包含一個vers=選項;如果不是,假設它使用 SMB 1。

核心級 CIFS/SMB 支持中的 SMB 協議自動協商是最近開發的,據我所知,如果您不指定所需的協議版本,則自動協商將僅在啟用 CIFS 調試消息時指示結果。但幸運的是開發人員做到了,所以談判結果將始終顯示在/proc/mounts.

如果您使用smbclient或其他使用者空間 SMB/CIFS 客戶端(例如,一個集成到您的桌面環境的客戶端),那麼它可能有自己的工具和診斷程序。

引用自:https://unix.stackexchange.com/questions/478480