Voglio controllare la versione dialettale nelle connessioni SMB.
Su Windows, Get-SmbConnection
lo otterrà.
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
su macOS, smbutil statshares -a
funziona bene.
Cosa devo fare su Linux?
Risposta accettata:
Se stai eseguendo un server Samba su Linux, smbstatus
dovrebbe mostrare la versione del protocollo utilizzata da ciascun client.
Se Linux è il client, dipende da quale client stai utilizzando:se stai utilizzando il cifs
a livello di kernel supporto del filesystem, in tutti i kernel tranne quelli abbastanza nuovi, la risposta è stata che guardi in /proc/mounts
per vedere se le opzioni di montaggio per quel filesystem includono un vers=
opzione; in caso contrario, supponi che utilizzi SMB 1.
L'autonegoziazione del protocollo SMB nel supporto CIFS/SMB a livello di kernel è uno sviluppo piuttosto recente, e per quanto ne so, se non si specifica la versione del protocollo desiderata, l'autonegoziazione indicherà il risultato solo se si abilita il debug CIFS messaggi. ma fortunatamente gli sviluppatori hanno fatto in modo che il risultato della negoziazione venga sempre mostrato in /proc/mounts
.
Se usi smbclient
o altri client SMB/CIFS dello spazio utente (ad es. uno integrato nell'ambiente desktop), quindi potrebbe avere i propri strumenti e la propria diagnostica.