smbclient, das NT_STATUS_LOGON_FAILURE erhält, das an Windows-Kasten anschließt


21

Ich führe smbclient unter Ubuntu aus und versuche, eine Verbindung zu einer Windows-Box herzustellen. Außerdem wird angezeigt, dass die Einrichtung der Sitzung fehlgeschlagen ist: NT_STATUS_LOGON_FAILURE.

Ich habe überprüft, dass ich die Box und das Telnet an die Ports 139/445 senden kann, daher bin ich mir ziemlich sicher, dass es sich nicht um ein Firewall-Problem handelt. Und mein Client sagt, dass er mit der Benutzer-ID / Kennwort-Kombination problemlos von einer anderen Windows-Box aus eine Verbindung zu dieser Windows-Box herstellen kann. Außerdem kann diese Box über smbclient eine Verbindung zu anderen Windows-Boxen dieses Clients herstellen.

Irgendwelche anderen Ideen, warum das nicht funktioniert?

Antworten:


28

Hast du deine smb.conf überprüft?

Stellen Sie sicher, dass Ihre Arbeitsgruppen- und Sicherheitseinstellungen richtig festgelegt sind. Wenn Sie mit einem Computer als Teil einer Domäne arbeiten, werden Authentifizierungsanforderungen zuerst über Ihren Domänencontroller weitergeleitet. Stellen Sie daher Folgendes sicher:

security = domain
workgroup = WORKGROUP

Sie können auch die -WOption verwenden, um die Arbeitsgruppe anzugeben, und DOMAIN/vor Ihrem Benutzernamen Folgendes hinzufügen , um die Domäne anzugeben:

$smbclient -L myhost -U DOMAIN/user -W workgroup

Hoffe das hilft!


Es stellte sich heraus, dass das Hinzufügen der Domain den Trick getan hat. Anscheinend erfordern einige Versionen von Windows die Domäne und andere nicht? Aber danke!
David Jaquay

Beachten Sie, dass das Bit 'security = domain' hier nicht erforderlich ist. Abgesehen von der Angabe der Arbeitsgruppe in smb.conf können Sie diese auch in der Befehlszeile für smbclient angeben.
Jelmer

Ja, die -W-Option für smbclient ist das, was ich verwendet habe, um es zum Laufen zu bringen.
David Jaquay

7
DOMAIN / Benutzername sollte auch funktionieren.
Calmarius

1
Sie können smbclient auch mit dem Argument -W verwenden.
Andre Miras

7

Gleicher Fehler. Ich musste Benutzer zur Samba-Passwortdatei mit hinzufügen

sudo smbpasswd -a

Dies liegt anscheinend daran, dass die Standardkonfiguration in /etc/samba/smb.conf lautet

Sicherheit = Benutzer

passdb backend = tdbsam

Ich verwende keine Domänencontroller oder Active Directory, daher hätte ich gedacht, dass der Zugriff auf die reguläre Kennwortdatei die Standardeinstellung ist, aber ich denke nicht. Es wäre schön, wenn das in der Dokumentation, die ich gefunden habe, klar wäre. Die Referenz "smbpasswd" lieferte einen Hinweis, der zu dieser Lösung führte.


Ich bin in einer Domain und dies ist die Art und Weise, wie ich denke, dass ich dies tun muss, da ich meinen Domain-Benutzer nicht unter Linux verwende, es ist ein persönlicher Entwicklungs-Linux-Gast auf einem Windows-Host. Außerdem kann ich jetzt erfolgreich eine Verbindung zum smbclient -L localhostGast herstellen, aber noch keine Verbindung über den Windows-Host herstellen. Ich denke, das war mindestens ein Schritt vorwärts. Ich denke, die Ports von hier sollten die Portnummern enthalten, auf die Sie in Ihrer Antwort achten müssen.
Brian Thomas

2

Ich hatte das gleiche Problem mit smbclient und bemerkte, dass es nicht mehr auftrat, als ich im Dialogfeld "Dateifreigabe" die Option "Nur Dateifreigabe aktivieren" manuell auswählte, nachdem Sie mit der rechten Maustaste auf den Ordner geklickt hatten, den Sie freigeben möchten.

Auf einigen Windows-Computern (wie Windows XP) müssen Sie dies hinzufügen, um die Remote-Freigabe für Nicht-Gastbenutzer zu ermöglichen:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\forceguest=dword:0

oder automatisieren mit der Windows XP-Befehlszeile:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 00000000 /f

Danach funktionierte smbclient problemlos mit jedem Benutzer.

Vielen Dank an jethomas im http://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html


1

Dies kann folgende Gründe haben:

  1. Wenn in smb.conf gültige Benutzer angegeben sind, überprüfen Sie das Kontrollkästchen smbpasswd
  2. Überprüfen Sie die Hosts-Datei.

Ich weiß nicht, warum das runtergestimmt wurde. Diese Antwort wies mich darauf hin, smbpasswdwelche Daten ich zum Festlegen der Anmeldeinformationen verwenden musste, als derselbe Fehler auftrat.
Rick Chatham

1

Ich habe das gleiche Problem, als ich rannte

smbclient \\\\[ip]\\[sharedresource]

Mit diesem Befehl werde ich aufgefordert, ein Kennwort für einen Root-Benutzer einzugeben. Bei der Eingabe des Kennworts wurde jedoch der Fehler NT_STATUS_LOGON_FAILURE angezeigt.

Ich habe -U hinzugefügt, um den Benutzernamen meines Remote-Computers anzugeben, und es hat funktioniert

smbclient \\\\[ip]\\[sharedresource] -U [username]

1

Unter Windows 10 (Host) und CentOS 7 (Gast) konnte ich das Authentifizierungsproblem beheben, indem ich die kennwortgeschützte Freigabe deaktivierte: Netzwerk- und Freigabecenter / Erweiterte Freigabeeinstellungen / Alle Netzwerke / Kennwortgeschützte Freigabe

Dies kann nur zur Fehlerbehebung hilfreich sein . Ich würde nicht empfehlen, es für den täglichen Gebrauch auszuschalten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.