Mi configuración: Servidor con Ubuntu 20.04 con recursos compartidos de samba. Impresora HP Deskjet 8620 Pro.
La impresora proporciona una función llamada "Escanear a carpeta de red". Solía funcionar con Ubuntu 16.04, pero no funciona desde la actualización. Buscando en Google descubrí que esta impresora utiliza una versión de protocolo muy antigua de smb.
encontréestepublicación que sugiere configurar
[global]
ntlm auth = yes
lanman auth = yes
en smb.conf.
Después de agregar esas dos líneas, reinicié samba y cambié la contraseña del usuario smb correspondiente:
sudo systemctl restart smbd.server nmbd.service
sudo smbpasswd hpscanner
El registro de depuración de Samba todavía me dice "NO se ha establecido ninguna contraseña de LanMan para el usuario hpscanner":
[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)
Entonces, ¿cómo configuro correctamente la contraseña de LanMan?
¿Puedo configurar samba para exceptuar esta autenticación anterior solo para este usuario?
¡Gracias!
Editar:
Yo añadí
server min protocol = NT1
como se sugiere en las respuestas. Esto no cambió nada.
registro:
[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)
¿algunas ideas?
Respuesta1
Creo que ya casi has llegado.
Su impresora HP está intentando conectarse al servidor Ubuntu utilizando el dialecto SMB1 (Samba lo llama NT1) de smb. En Ubuntu 16 o 18 eso no fue un problema. En Ubuntu 20, Samba lo desactivó de forma predeterminada.
Puede habilitarlo en Ubuntu 20 editando smb.conf y debajo de la línea workgroup = WORKGROUP agregue este:
server min protocol = NT1
Puedes intentar reiniciar smbd sudo service smbd restart
pero es posible que tengas que reiniciar.
Respuesta2
Finalmente lo resolvió:
[global]
server min protocol = NT1
ntlm auth = yes
lanman auth = yes
y estableciendo unnuevocontraseña por
sudo smbpasswd username
Lo resolvió como lo sugirió Morbius1.
Pero tenía dos cosas más que considerar:
- Establecer la misma contraseña que tenía antes no restablecerá el hash.
- La longitud máxima de las contraseñas es de 14 caracteres. Con contraseñas más largas no se establecerá el hash.
El hash se puede comprobar con
pdbedit -L -w
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX significa no establecido.