Samba + Windows: autoriser plusieurs connexions par différents utilisateurs?

23

J'ai une machine exécutant Ubuntu avec Samba que j'utilise pour partager des choses avec les machines Windows de ma famille dans notre réseau local. Actuellement, ils accèdent à un partage de films / musique / etc. avec un seul utilisateur.

Je veux les connecter à un autre partage en tant qu'utilisateur différent (par exemple, l'utilisateur "goytacaz").

Lorsque j'essaie de me connecter à ce nouveau partage, Windows me donne «Erreur 1219» et se plaint de plusieurs connexions par le même utilisateur.

Comment faire en sorte que ma machine accepte plusieurs connexions par le même utilisateur?

Quack Quichotte
la source
Cherchez-vous simplement à vous connecter avec Samba? Samba prend déjà en charge cet AFAIK.
2010

Réponses:

24

Sur Samba? Il ne devrait pas y avoir de problèmes; tant que le nom d'utilisateur et le mot de passe sont corrects, les deux connexions doivent se dérouler correctement.

Mise à jour: re: "Erreur 1219". Il s'agit d'une erreur côté client - Windows vous permet uniquement de vous connecter à un serveur en tant qu'utilisateur à la fois. (Voir la documentation Microsoft à KB938120 .) Cela signifie que la machine Windows s'est déjà connectée en tant qu'utilisateur différent et que vos tentatives de reconnexion, en tant qu'utilisateur correct, échouent.

Vous devez déconnecter la première connexion avant de pouvoir vous reconnecter. Je connais deux façons de le faire:

  • Déconnectez tous les lecteurs réseau de reconnexion à l'ouverture de session de ce serveur. Redémarrez. Reconnectez-vous au serveur et assurez-vous de donner le nom d'utilisateur et le mot de passe appropriés.

  • Utilisez la commande net use / delete du shell de commande de Windows (Démarrer -> Exécuter -> cmd; à l'invite, tapez la commande; vous devrez peut-être spécifier un nom de partage).

Mise à jour 2: si les utilisateurs se connectent déjà au serveur avec un seul utilisateur, vous ne pourrez pas les laisser se connecter avec un deuxième utilisateur. Vous devrez reconsidérer votre stratégie de partage et reconfigurer Samba pour suivre cette stratégie. (Ce n'est pas de votre faute; je blâme Windows.)

Personnellement, je resterais avec des utilisateurs individuels pour chaque personne et envisagerais d'utiliser des groupes pour contrôler l'accès aux partages. Cela fonctionne bien si vous avez des partages auxquels vous voulez que tout le monde ait un accès en lecture-écriture et d'autres que vous souhaitez être en lecture seule pour tous, sauf quelques utilisateurs.

Mise à jour 3: le document MS lié ci-dessus propose ces deux solutions de contournement pour permettre la connexion au serveur en tant qu'utilisateurs distincts. L'idée générale est de faire croire à Windows qu'il se connecte à un autre serveur en utilisant un nom différent .

  1. Utilisez l'adresse IP du serveur lorsque vous vous connectez avec le deuxième nom d'utilisateur. (À utiliser \\ServerName\sharenamelors de la connexion en tant que premier utilisateur, mais à utiliser \\X.X.X.X\sharenamelors de la connexion en tant que deuxième utilisateur.)

  2. Créez un ou plusieurs alias DNS pour le serveur à utiliser lorsque vous vous connectez avec le deuxième (, troisième, quatrième ...) nom d'utilisateur. (À utiliser \\ServerName\sharenamelors de la connexion en tant que premier utilisateur, mais à utiliser \\ServerAlias1\sharenamelors de la connexion en tant que deuxième utilisateur, \\ServerAlias2\sharenamelors de la connexion en tant que troisième utilisateur, etc.)

Quack Quichotte
la source
1
Merci pour cette réponse. J'ai eu le même problème, et la connexion en utilisant l'adresse IP du serveur au lieu du nom DNS a fonctionné pour moi pour la deuxième connexion.
Ben Torell
10

Il s'agit d'une solution pour Windows 7 (bien qu'elle puisse également fonctionner pour d'autres versions)

  1. ouvrez le Bloc-notes (ou n'importe quel éditeur de texte) en tant qu'administrateur
    (vous devez cliquer avec le bouton droit et dire «exécuter en tant qu'administrateur»)

  2. trouver: c: \ WINDOWS \ system32 \ drivers \ etc \ hosts (vous devrez montrer tous les fichiers non seulement .txt)

Maintenant si:
- vous avez 3 utilisateurs samba: tom fred jon
- 3 partages samba sur votre serveur samba (ie IP: 192.168.0.100): docs stuff pics
- vous voulez vous connecter en tant que tom to docs, fred to stuff et comme jon aux photos

Ajoutez maintenant les lignes suivantes au fichier hosts :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Une fois que vous fermez et enregistrez, vous pouvez "Mapper un lecteur réseau" comme ceci:

\\tomsdocs\docs as user tom
\\fredstuff\stuff as user fred
\\jonspics\pics as user jon

Notez que les noms ci-dessus sont entièrement à vous ... Tout ce que vous mettez dans le fichier hosts devra mach ce que vous appelez le serveur lorsque vous mappez le lecteur réseau.

La raison pour laquelle cela fonctionne, c'est que Windows doit penser qu'il se connecte à différents serveurs. Sans doute, vous pouvez également configurer votre propre serveur DNS domestique, mais je préfère simuler un tas d'entrées dans le fichier hosts (qui est évalué avant que votre machine Windows ne demande de l'aide au DNS).
Comme tout le problème est un problème de fenêtres côté client, je préfère le faire de cette façon.

J'espère que cela t'aides.

Sébastien
la source
Cela a fonctionné comme un charme! J'ai joué pendant une heure avec le partage de samba sur le serveur jusqu'à ce que je trouve cela - Merci :)
lorem monkey
Merci pour ça. Je déteste devoir contourner la nouvelle merde que Microsoft crache, mais c'est élégant sinon maladroit ... fonctionne très bien!
SuperJames
1
Curieux cependant, les noms doubles sont-ils une faute de frappe? Pourquoi utiliseriez-vous exactement les mêmes deux fois pour la même IP?
brezanac
8

Si vous préférez ne pas jouer avec chaque client pour résoudre un problème de serveur, vous pouvez utiliser le fichier smb.conf pour configurer les alias de nom du serveur. Cela présente l'avantage supplémentaire que chaque alias s'affiche en tant que serveur distinct dans le réseau Windows.

Modifiez votre fichier smb.conf et ajoutez l'entrée suivante dans la section [globale]:

[global]
...
netbios aliases = alias1 alias2 readonly


Après un redémarrage de samba (n'oubliez pas de redémarrer smbd ET nmbd!), Vous devriez pouvoir accéder aux nouveaux alias de serveur en utilisant la notation UNC dans l'Explorateur Windows.
Notez que cela peut prendre un peu de temps, sur mon site, environ 1 minute après le redémarrage de la samba, pour qu'ils fonctionnent.
Une fois que les alias apparaissent dans le réseau Windows, vous êtes définitivement prêt à partir.

Ligne40
la source
2

j'avais juste le même problème.

pour un utilisateur, j'utilise: \ 192.168.xx <- IP du serveur ubuntu pour l'autre utilisateur: \ server-name <- nom d'hôte du serveur ubuntu.

cela m'a permis de me connecter avec une machine Windows en utilisant différentes connexions.

Eric
la source
1

Utilisez l'option Netbios alias samba:

netbios name = share1
netbios aliases = share2

Windows "verra" 2 serveurs samba différents et vous pourrez vous connecter aux deux partages avec une authentification utilisateur différente

Pol Hallen
la source