Nelle impostazioni della condivisione in smb.conf
, dovrai specificare i nomi degli utenti e / o dei gruppi autorizzati a scrivere sulla condivisione, usando una write list = ...
linea.
Esempio:
[myshare]
...
write list = my_linux_username
Quindi dovrai utilizzare il smbpasswd
comando per impostare una password per l'autenticazione my_linux_username
per Samba:
sudo smbpasswd -a my_linux_username
Questo passaggio è necessario perché le password di sistema standard /etc/shadow
sono hash in algoritmi incompatibili con gli algoritmi di hash delle password utilizzati nel protocollo SMB. Quando un client invia un pacchetto di autenticazione SMB, include una password con hash. Può essere confrontato solo con un altro hash di password che utilizza lo stesso algoritmo.
(Le istruzioni molto vecchie del millennio precedente potrebbero raccomandare di disabilitare la crittografia delle password in Samba e di utilizzare alcuni hack del registro per consentire a Windows di emettere password non crittografate alla rete. Questo consiglio è obsoleto : tali hack del registro potrebbero non funzionare più nelle versioni attuali di Windows e consentire a chiunque sia in grado di monitorare il traffico di rete di acquisire banalmente la password.)
C'è un'altra cosa che potresti dover fare sul lato client. Quando il tuo sistema client Windows è unito a un dominio di Active Directory e hai effettuato l'accesso con un account AD, prefissa automaticamente tutti i nomi utente non qualificati con il nome del dominio AD dell'utente, vale a dire che effettuerai l'autenticazione come AD_DOMAIN\your_username
, non solo your_username
.
Se si è effettuato l'accesso con un account locale (o il proprio sistema client non è unito a un dominio AD), Windows può automaticamente aggiungere il nome utente al nome host del client, a meno che non si specifichi un altro nome di dominio.
Per accedere correttamente a un server Samba autonomo da un client Windows autonomo, potrebbe essere necessario specificare il nome utente come SAMBA_SERVER_HOSTNAME\your_username
.
Altrimenti Samba vedrà il nome utente come WINDOWS_CLIENT_HOSTNAME\your_username
, concluderà che non ha modo di verificare alcun utente appartenente al dominio nominato WINDOWS_CLIENT_HOSTNAME
e rifiuterà l'accesso.
(Le versioni più recenti di Samba potrebbero avere un controllo integrato per questa situazione specifica e potrebbero comunque permetterti l'accesso. Ma questo è fondamentalmente il modo in cui l'autenticazione SMB funziona "sotto il cofano" e se hai bisogno di gestire le versioni precedenti di Samba , potrebbe essere ancora utile.)
force user = defaultUser
fatto il lavoro per me.