web-dev-qa-db-fra.com

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

J'ai une machine sous Ubuntu avec Samba que j'utilise pour partager des éléments avec les machines Windows de ma famille sur 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 m'indique "Erreur 1219" et se plaint de plusieurs connexions effectuées par le même utilisateur.

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

22
rgoytacaz

Sur Samba? Il ne devrait y avoir aucun problème; tant que le nom d'utilisateur et le mot de passe sont corrects, les deux connexions doivent avoir lieu correctement.

Mise à jour: Objet: "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 documentation Microsoft auprès de KB93812 .) Cela signifie que la machine Windows s'est déjà connectée en tant qu'utilisateur différent. Par conséquent, vos tentatives de vous reconnecter 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 faire cela:

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

  • Utilisez la commande Net Use/delete à partir du shell de commande 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 utilisateur, vous ne pourrez pas les laisser se connecter avec un second utilisateur. Vous devrez reconsidérer votre stratégie de partage et reconfigurer Samba pour suivre cette stratégie. (Ce n'est pas votre faute; je blâme Windows.)

Personnellement, je me contenterais d'utilisateurs individuels pour chaque personne et envisagerais d'utiliser des groupes pour contrôler l'accès aux partages. Cela fonctionne bien si vous souhaitez que certains utilisateurs aient un accès en lecture-écriture à certains partages, ainsi que d'autres que vous souhaitez utiliser en lecture seule pour tous les utilisateurs, à l'exception d'un petit nombre d'utilisateurs sélectionnés.

pdate 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 la suivante: donne à Windows l'impression de se connecter à 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. (Utilisez \\ServerName\sharename lors de la connexion en tant que premier utilisateur, mais utilisez \\X.X.X.X\sharename lors de la connexion en tant que second utilisateur.)

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

24
quack quixote

Ceci est une solution pour Windows 7 (bien que cela 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 faire un clic droit et dire "exécuter en tant qu'administrateur")

  2. find: c:\WINDOWS\system32\drivers\etc\hosts (vous devrez afficher tous les fichiers, pas seulement .txt)

Maintenant, si i.e.:
- Vous avez 3 utilisateurs de samba: tom fred jon
- 3 partages Samba sur votre serveur samba (IP: 192.168.0.100): photos remplies de documents
- vous voulez vous connecter en tant que tom à docs, fred to stuff et jon aux photos

Ajoutez maintenant les lignes suivantes au fichier hôtes:

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 suit:

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

Notez que les noms ci-dessus sont totalement de votre ressort ... Tout ce que vous mettez dans le fichier hosts devra composer ce que vous appelez le serveur lorsque vous mappez le lecteur réseau.

Cela fonctionne parce que Windows doit penser qu'il se connecte à différents serveurs. On pourrait soutenir que vous pourriez également configurer votre propre serveur DNS domestique, mais je préfère simuler un tas d'entrées dans le fichier hosts (qui sera é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.

10
Sebastian

Si vous préférez ne pas manipuler chaque client pour résoudre un problème de serveur, vous pouvez utiliser le fichier smb.conf pour configurer des alias de noms pour le serveur. Cela présente l’avantage supplémentaire de voir chaque alias apparaître comme un serveur distinct dans le réseau Windows.

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

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


Après un redémarrage de samba (n'oubliez pas de redémarrer smbd AND 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 que cela fonctionne.
Une fois les alias affichés dans le réseau Windows, vous êtes définitivement prêt.

8
Line40

utilisez l'adresse IP (ou le nom d'hôte si vous utilisez l'adresse IP) du serveur

http://support.Microsoft.com/kb/93812

2
leetkrew

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

pour un utilisateur, j'utilise:\192.168.x.x <- IP du serveur Ubuntu pour l'autre utilisateur:\nom_serveur <- nom d'hôte du serveur Ubuntu.

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

2
Eric

Utilisez l'option samba de Netbios alias:

netbios name = share1
netbios aliases = share2

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

1
Pol Hallen