Samba + Windows: Mehrere Verbindungen von verschiedenen Benutzern zulassen?

23

Ich besitze einen Computer, auf dem Ubuntu mit Samba ausgeführt wird, mit dem ich Inhalte für die Windows-Computer meiner Familie in unserem lokalen Netzwerk freigebe. Derzeit greifen sie mit einem Benutzer auf eine Freigabe für Filme / Musik / usw. zu.

Ich möchte sie mit einer anderen Freigabe als anderer Benutzer verbinden (z. B. Benutzer "goytacaz").

Wenn ich versuche, eine Verbindung zu dieser neuen Freigabe herzustellen, gibt Windows "Fehler 1219" aus und beschwert sich über mehrere Verbindungen desselben Benutzers.

Wie bringe ich mein Gerät dazu, mehrere Verbindungen von demselben Benutzer zu akzeptieren?

Quacksalber
quelle
Möchten Sie sich nur mit Samba verbinden? Samba unterstützt diese AFAIK bereits.
Heavyd

Antworten:

24

Über Samba? Es sollte keine Probleme geben; Solange der Benutzername und das Passwort korrekt sind, sollten beide Verbindungen korrekt funktionieren.

Update: Betreff: "Fehler 1219". Dies ist ein clientseitiger Fehler. Unter Windows können Sie jeweils nur als ein Benutzer eine Verbindung zu einem Server herstellen. (Weitere Informationen finden Sie in der Microsoft-Dokumentation unter KB938120 .) Dies bedeutet, dass der Windows-Computer bereits eine Verbindung als anderer Benutzer hergestellt hat und Ihre Versuche, als korrekter Benutzer erneut eine Verbindung herzustellen , fehlschlagen.

Sie müssen die erste Verbindung trennen, bevor Sie die Verbindung wiederherstellen können. Ich kenne zwei Möglichkeiten, um das zu tun:

  • Trennen Sie alle Netzlaufwerke, die bei der Anmeldung neu verbunden werden, von diesem Server. Starten Sie neu. Stellen Sie erneut eine Verbindung zum Server her und geben Sie den richtigen Benutzernamen und das richtige Kennwort ein.

  • Verwenden Sie den Befehl net use / delete in der Windows-Befehlsshell (Start -> Ausführen -> cmd; geben Sie an der Eingabeaufforderung den Befehl ein; möglicherweise müssen Sie einen Freigabenamen angeben).

Update 2: Wenn die Benutzer bereits mit einem Benutzer eine Verbindung zum Server herstellen, können Sie sie nicht mit einem zweiten Benutzer verbinden. Sie müssen Ihre Freigabestrategie überdenken und Samba neu konfigurieren, um dieser Strategie zu folgen. (Das ist nicht deine Schuld; ich beschuldige Windows.)

Persönlich würde ich bei einzelnen Benutzern für jede Person bleiben und erwägen, Gruppen zu verwenden, um den Zugriff auf die Freigaben zu steuern. Dies funktioniert gut, wenn Sie über einige Freigaben verfügen, auf die jeder Lese- / Schreibzugriff haben soll, und andere, auf die nur einige Benutzer zugreifen dürfen.

Update 3: Das oben verlinkte MS-Dokument bietet diese beiden Problemumgehungen, um als separate Benutzer eine Verbindung zum Server herzustellen. Die allgemeine Idee ist, Windows zu glauben, dass eine Verbindung zu einem anderen Server hergestellt wird, indem ein anderer Name verwendet wird .

  1. Verwenden Sie die IP-Adresse des Servers, wenn Sie sich mit dem zweiten Benutzernamen verbinden. (Verwenden Sie diese Option, \\ServerName\sharenamewenn Sie eine Verbindung als erster Benutzer herstellen, jedoch, \\X.X.X.X\sharenamewenn Sie eine Verbindung als zweiter Benutzer herstellen.)

  2. Erstellen Sie einen oder mehrere DNS-Aliasnamen, die der Server verwenden soll, wenn Sie eine Verbindung mit dem zweiten (, dritten, vierten ...) Benutzernamen herstellen. (Verwenden Sie diese Option, \\ServerName\sharenamewenn Sie als erster Benutzer eine Verbindung herstellen, verwenden Sie diese Option jedoch, \\ServerAlias1\sharenamewenn Sie als zweiter Benutzer eine \\ServerAlias2\sharenameVerbindung herstellen , wenn Sie als dritter Benutzer eine Verbindung herstellen usw.)

Quacksalber
quelle
1
Vielen Dank für diese Antwort. Ich hatte das gleiche Problem und die Verbindung über die IP-Adresse des Servers anstelle des DNS-Namens funktionierte bei der zweiten Verbindung.
Ben Torell
10

Dies ist eine Lösung für Windows 7 (obwohl sie möglicherweise auch für andere Versionen funktioniert).

  1. Öffnen Sie Notepad (oder einen beliebigen Texteditor) als Administrator
    (Sie müssen mit der rechten Maustaste klicken und "Als Administrator ausführen" sagen)

  2. find: c: \ WINDOWS \ system32 \ drivers \ etc \ hosts (Sie müssen nicht nur TXT-Dateien anzeigen)

Wenn Sie also:
- 3 Samba-Benutzer haben: tom fred jon
- 3 Samba-Freigaben auf Ihrem Samba-Server (dh IP: 192.168.0.100): docs stuff pics
- Sie möchten sich als tom mit docs verbinden, als fred to stuff und als jon zu den Bildern

Fügen Sie nun der hosts- Datei die folgenden Zeilen hinzu :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Sobald Sie schließen und speichern, können Sie ein Netzwerklaufwerk wie folgt zuordnen:

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

Beachten Sie, dass die oben genannten Namen ganz Ihnen überlassen sind ... Was auch immer Sie in die Hosts-Datei einfügen, muss das sein, was Sie den Server nennen, wenn Sie das Netzlaufwerk zuordnen.

Der Grund dafür ist, dass Windows denken muss, dass eine Verbindung zu verschiedenen Servern besteht. Möglicherweise könnten Sie auch Ihren eigenen DNS-Server einrichten, aber ich bevorzuge es, eine Reihe von Einträgen in der Hosts-Datei zu fälschen (die ausgewertet wird, bevor Ihr Windows-Computer den DNS um Hilfe bittet).
Da es sich bei dem gesamten Problem um ein clientseitiges Windows-Problem handelt, gehe ich lieber so vor.

Hoffe das hilft.

Sebastian
quelle
Das hat wie ein Zauber gewirkt! Fummelte eine Stunde mit der Samba-Freigabe auf dem Server, bis ich dies fand - Danke :)
Lorem Monkey
Danke dafür. Ich hasse es, an dem neuen Mist arbeiten zu müssen, den Microsoft ausspuckt, aber das ist elegant, wenn nicht doof ... funktioniert großartig!
SuperJames
1
Interessanterweise sind Doppelnamen ein Tippfehler? Warum würden Sie genau dieselben zweimal für dieselbe IP verwenden?
Brezanac
8

Wenn Sie es vorziehen, nicht mit jedem Client zu fummeln, um ein Serverproblem zu lösen, können Sie die Datei smb.conf verwenden, um Namensaliase für den Server einzurichten. Dies hat den zusätzlichen Vorteil, dass jeder Alias ​​als eigener Server im Windows-Netzwerk angezeigt wird.

Bearbeiten Sie Ihre smb.conf-Datei und fügen Sie den folgenden Eintrag im Abschnitt [global] hinzu:

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


Nach einem Neustart von Samba (denken Sie daran, smbd AND nmbd neu zu starten!) Sollten Sie in der Lage sein, unter Verwendung der UNC-Notation im Windows-Explorer auf die neuen Server-Aliase zuzugreifen.
Beachten Sie, dass es bei mir ungefähr 1 Minute nach dem Neustart von Samba dauern kann, bis sie funktionieren.
Sobald die Aliase im Windows-Netzwerk angezeigt werden, können Sie loslegen.

Line40
quelle
2

Ich hatte nur das gleiche Problem.

Für einen Benutzer verwende ich: \ 192.168.xx <- IP des Ubuntu-Servers für den anderen Benutzer: \ Servername <- Hostname des Ubuntu-Servers.

Dies ermöglichte mir die Verbindung mit einem Windows-Computer unter Verwendung verschiedener Anmeldungen.

Eric
quelle
1

Verwenden Sie die NetBIOS-Alias-Samba-Option:

netbios name = share1
netbios aliases = share2

Windows "sieht" 2 verschiedene Samba-Server und Sie können eine Verbindung zu beiden mit unterschiedlicher Benutzerauthentifizierung herstellen

Pol Hallen
quelle