Mein Setup: Server mit Ubuntu 20.04 mit Samba-Freigaben. HP Deskjet 8620 Pro-Drucker.
Der Drucker bietet eine Funktion namens „In Netzwerkordner scannen“. Diese funktionierte früher mit Ubuntu 16.04, seit dem Update jedoch nicht mehr. Beim Googeln fand ich heraus, dass dieser Drucker eine sehr alte Protokollversion von SMB verwendet.
ich fandDasBeitrag, der vorschlägt,
[global]
ntlm auth = yes
lanman auth = yes
in smb.conf.
Nachdem ich diese beiden Zeilen hinzugefügt hatte, startete ich Samba neu und änderte das Passwort des entsprechenden SMB-Benutzers:
sudo systemctl restart smbd.server nmbd.service
sudo smbpasswd hpscanner
Das Samba-Debugprotokoll zeigt mir immer noch „KEIN LanMan-Passwort für Benutzer hpscanner festgelegt“ an:
[2021/06/06 19:37:36.401815, 3] ../../source3/auth/auth.c:199(auth_check_ntlm_password)
check_ntlm_password: Checking password for unmapped user [SERVER]\[hpscanner]@[WORKSTATION] with the new password interface
[2021/06/06 19:37:36.401828, 3] ../../source3/auth/auth.c:202(auth_check_ntlm_password)
check_ntlm_password: mapped user is: [SERVER]\[hpscanner]@[WORKSTATION]
[2021/06/06 19:37:36.402019, 3] ../../source3/passdb/lookup_sid.c:1684(get_primary_group_sid)
Forcing Primary Group to 'Domain Users' for hpscanner
[2021/06/06 19:37:36.402147, 3] ../../libcli/auth/ntlm_check.c:403(ntlm_password_check)
ntlm_password_check: NTLMv2 password check failed
[2021/06/06 19:37:36.402163, 3] ../../libcli/auth/ntlm_check.c:451(ntlm_password_check)
ntlm_password_check: NO LanMan password set for user hpscanner (and no NT password supplied)
[2021/06/06 19:37:36.402215, 3] ../../libcli/auth/ntlm_check.c:593(ntlm_password_check)
ntlm_password_check: LM password, NT MD4 password in LM field and LMv2 failed for user hpscanner
[2021/06/06 19:37:36.402394, 2] ../../source3/auth/auth.c:343(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [hpscanner] -> [hpscanner] FAILED with error NT_STATUS_WRONG_PASSWORD, authoritative=1
supplied)
Wie lege ich das LanMan-Passwort richtig fest?
Kann ich Samba so konfigurieren, dass diese alte Authentifizierung nur für diesen einen Benutzer akzeptiert wird?
Danke!
Bearbeiten:
Ich fügte hinzu
server min protocol = NT1
wie in den Antworten vorgeschlagen. Dies hat nichts geändert.
Protokoll:
[2021/08/05 19:51:46.005653, 3] ../../source3/auth/auth.c:199(auth_check_ntlm_password)
check_ntlm_password: Checking password for unmapped user [SERVER]\[hpscanner]@[WORKSTATION] with the new password interface
[2021/08/05 19:51:46.005665, 3] ../../source3/auth/auth.c:202(auth_check_ntlm_password)
check_ntlm_password: mapped user is: [SERVER]\[hpscanner]@[WORKSTATION]
[2021/08/05 19:51:46.005848, 3] ../../source3/passdb/lookup_sid.c:1684(get_primary_group_sid)
Forcing Primary Group to 'Domain Users' for hpscanner
[2021/08/05 19:51:46.005967, 3] ../../libcli/auth/ntlm_check.c:403(ntlm_password_check)
ntlm_password_check: NTLMv2 password check failed
[2021/08/05 19:51:46.005982, 3] ../../libcli/auth/ntlm_check.c:451(ntlm_password_check)
ntlm_password_check: NO LanMan password set for user hpscanner (and no NT password supplied)
[2021/08/05 19:51:46.006036, 3] ../../libcli/auth/ntlm_check.c:593(ntlm_password_check)
ntlm_password_check: LM password, NT MD4 password in LM field and LMv2 failed for user hpscanner
[2021/08/05 19:51:46.006198, 2] ../../source3/auth/auth.c:343(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [hpscanner] -> [hpscanner] FAILED with error NT_STATUS_WRONG_PASSWORD, authoritative=1
[2021/08/05 19:51:46.006239, 2] ../../auth/auth_log.c:635(log_authentication_event_human_readable)
Auth: [SMB,(null)] user [SERVER]\[hpscanner] at [Thu, 05 Aug 2021 19:51:46.006227 UTC] with [NTLMv2] status [NT_STATUS_WRONG_PASSWORD] workstation [WORKSTATION] remote host [ipv4:10.0.0.210:1024] mapped to [SERVER]\[hpscanner]. local host [ipv4:10.0.0.200:445]
{"timestamp": "2021-08-05T19:51:46.006293+0000", "type": "Authentication", "Authentication": {"version": {"major": 1, "minor": 2}, "eventId": 4625, "logonId": "0", "logonType": 3, "status": "NT_STATUS_WRONG_PASSWORD", "localAddress": "ipv4:10.0.0.200:445", "remoteAddress": "ipv4:10.0.0.210:1024", "serviceDescription": "SMB", "authDescription": null, "clientDomain": "SERVER", "clientAccount": "hpscanner", "workstation": "WORKSTATION", "becameAccount": null, "becameDomain": null, "becameSid": null, "mappedAccount": "hpscanner", "mappedDomain": "SERVER", "netlogonComputer": null, "netlogonTrustAccount": null, "netlogonNegotiateFlags": "0x00000000", "netlogonSecureChannelType": 0, "netlogonTrustAccountSid": null, "passwordType": "NTLMv2", "duration": 5104}}
[2021/08/05 19:51:46.006332, 3] ../../auth/gensec/spnego.c:1442(gensec_spnego_server_negTokenTarg_step)
gensec_spnego_server_negTokenTarg_step: SPNEGO(ntlmssp) login failed: NT_STATUS_WRONG_PASSWORD
[2021/08/05 19:51:46.006368, 3] ../../source3/smbd/error.c:78(error_packet_set)
NT error packet at ../../source3/smbd/sesssetup.c(246) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2021/08/05 19:51:46.007110, 3] ../../source3/smbd/server_exit.c:243(exit_server_common)
Server exit (failed to receive smb request)
irgendwelche Ideen?
Antwort1
Ich glaube, Sie sind fast am Ziel.
Ihr HP-Drucker versucht, über den SMB1-Dialekt (Samba nennt ihn NT1) eine Verbindung zum Ubuntu-Server herzustellen. Unter Ubuntu 16 oder 18 war das kein Problem. Unter Ubuntu 20 hat Samba es standardmäßig deaktiviert.
Sie können es in Ubuntu 20 aktivieren, indem Sie smb.conf bearbeiten und unter der Zeile workgroup = WORKGROUP Folgendes hinzufügen:
server min protocol = NT1
Sie können versuchen, smbd neu zu starten, sudo service smbd restart
aber möglicherweise müssen Sie einfach einen Neustart durchführen.
Antwort2
Endlich gelöst:
[global]
server min protocol = NT1
ntlm auth = yes
lanman auth = yes
und die Einstellung einesneuPasswort von
sudo smbpasswd username
habe es wie von Morbius1 vorgeschlagen gelöst.
Aber ich musste noch zwei weitere Dinge bedenken:
- Wenn Sie das gleiche Passwort wie zuvor festlegen, wird der Hash nicht zurückgesetzt.
- Die maximale Länge eines Passwortes beträgt 14 Zeichen. Bei längeren Passwörtern wird der Hash nicht gesetzt.
Der Hash kann überprüft werden mit
pdbedit -L -w
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX steht für nicht festgelegt.