Dans les paramètres de partage smb.conf
, vous devez spécifier les noms des utilisateurs et / ou des groupes autorisés à écrire sur le partage, à l'aide d'une write list = ...
ligne.
Exemple:
[myshare]
...
write list = my_linux_username
Ensuite, vous devrez utiliser la smbpasswd
commande pour configurer un mot de passe pour vous authentifier my_linux_username
pour Samba:
sudo smbpasswd -a my_linux_username
Cette étape est nécessaire car les mots de passe système standard /etc/shadow
entrés sont hachés dans des algorithmes incompatibles avec les algorithmes de hachage de mots de passe utilisés dans le protocole SMB. Lorsqu'un client envoie un paquet d'authentification SMB, il inclut un mot de passe haché. Il ne peut être comparé qu'à un autre hachage de mot de passe utilisant le même algorithme.
(De très vieilles instructions du millénaire précédent peuvent recommander de désactiver le cryptage des mots de passe dans Samba et d’utiliser certains piratages du registre pour permettre à Windows d’émettre des mots de passe non cryptés sur le réseau. Ce conseil est obsolète : ces piratages de registre risquent de ne plus fonctionner dans les versions actuelles de Windows, et autorisez tous ceux qui peuvent surveiller votre trafic réseau à capturer votre mot de passe de manière triviale.)
Il y a encore une chose que vous devrez faire côté client. Lorsque votre système client Windows est associé à un domaine Active Directory et que vous êtes connecté à un compte AD, il préfixe automatiquement tous les noms d'utilisateur non qualifiés avec le nom du domaine AD de l'utilisateur, c'est-à-dire que vous vous authentifiez AD_DOMAIN\your_username
uniquement your_username
.
Si vous êtes connecté avec un compte local (ou si votre système client n'est pas associé à un domaine AD), Windows peut automatiquement préfixer le nom d'utilisateur avec le nom d'hôte du client, sauf si vous spécifiez un autre nom de domaine.
Pour vous connecter avec succès à un serveur Samba autonome à partir d'un client Windows autonome, vous devrez peut-être spécifier votre nom d'utilisateur comme SAMBA_SERVER_HOSTNAME\your_username
.
Sinon, Samba verra le nom d'utilisateur comme WINDOWS_CLIENT_HOSTNAME\your_username
, conclura qu'il n'a aucun moyen de vérifier les utilisateurs appartenant au domaine nommé WINDOWS_CLIENT_HOSTNAME
et rejettera la connexion.
(Les versions les plus récentes de Samba peuvent comporter une vérification intégrée pour cette situation spécifique, mais elles peuvent néanmoins vous permettre d’y accéder. Mais c’est fondamentalement ainsi que l’authentification SMB fonctionne "à l’envers", et si vous avez besoin d’anciennes versions de Samba , ça pourrait être utile quand même.)
force user = defaultUser
fait le travail pour moi.