Problemi di protocollo Samba con smbclient e smbnetfs
Samba client max protocol
Ci può essere un problema di protocollo di autenticazione fra una server Samba e i client smbclient o smbnetfs.
Ad esempio un server Samba 4.11 non supporta il protocollo NT1, mentre smbclient versione 4.5 utilizza al massimo proprio il protocollo NT1. Anche il comando smbnetfs 0.6.0 usa per impostazione predefinita al massimo il protocollo NT1.
Questo è l'errore risultate con smbnetfs:
mkdir $HOME/smb smbnetfs $HOME/smb ls $HOME/tmp/HOSTNAME ls: cannot open directory '.': Input/output error.
Leggendo la man page di smb.conf si scopre che:
- For Samba 4.5 the client max protocol default is NT1.
- For Samba 4.9 the client max protocol default is SMB3_11.
Se il comando smbclient utilizza il protocollo NT1 (che non funziona più con le versioni recenti di Samba server), si può specificare l'optzione -m, ad esempio:
smbclient -m SMB3 ...
Per evitare di doverlo indicare in ogni comando, si edita /etc/samba/smb.conf:
[global] # If default max protocol for smbclient is NT1, you can # change it here to avoid using the smbclient -m option. client max protocol = SMB3
Discorso analogo vale per il comando smbnetfs, che però non accetta sulla riga di comando alcun parametro a riguardo. In questo caso è necessario aggiungere l'opzione client max protocol = SMB3 nel file $HOME/.smb/smb.conf.
[global] # If max protocol for smbnetfs is NT1, you can change it here. client max protocol = SMB3