
Estoy experimentando con Samba como controlador de directorio activo en mi red doméstica durante las últimas dos semanas.
Instalé samba en el servidor ubuntu 22.04 siguiendo un par de guías y videos, peroesta páginalo cubre en su mayor parte. Puedo unir computadoras al dominio, tanto Windows como Linux. Puedo enumerar las computadoras unidas usando samba-tool computer list
.
Creé usuarios y grupos con éxito usando la herramienta samba. Desde clientes de Windows puedo iniciar sesión usando estas cuentas.
Desde linux (ubuntu 23.04 y 23.10) puedo unirme al dominiosiguiente ubuntu oficialdocs, pero no puedo iniciar sesión.
bp@bas-hp:samba (master) % sudo login
bas-hp login: [email protected]
Password:
Login incorrect
bas-hp login: [email protected]
Password:
Login incorrect
Puedo crear un ticket de Kerberos
bp@bas-hp:samba (master) % klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]
Valid starting Expires Service principal
16-04-24 22:26:57 17-04-24 08:26:57 krbtgt/[email protected]
renew until 17-04-24 22:26:53
Los resultados de probar la sección Pruebas en el documento que sigo parecen comenzar bien:
bp@legion-ubuntu:~ % getent passwd [email protected]
[email protected]:*:1494001108:1494000513:Bas Prins:/home/[email protected]:/bin/bash
bp@legion-ubuntu:~ % getent passwd [email protected]
[email protected]:*:1494001104:1494000513:bp:/home/[email protected]:/bin/bash
Pero cuando emito el groups
comando veo algunos resultados preocupantes.
bp@legion-ubuntu:~ % groups [email protected]
[email protected] : domain [email protected] denied rodc password replication [email protected] [email protected] enterprise [email protected] domain [email protected]
bp@legion-ubuntu:~ % groups [email protected]
[email protected] : domain [email protected] denied rodc password replication [email protected] [email protected] enterprise [email protected] domain [email protected]
Estoy buscando en Google en paralelo cuándo significa "replicación de contraseña de Rodc denegada" y si necesito solucionarlo y cómo.
sssd.conf completo
[sssd]
domains = sb.lan
config_file_version = 2
services = nss, pam
[domain/sb.lan]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = SB.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = sb.lan
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad
timeout = 20
ldap_uri = ldap://dc.sb.lan
ldap_search_base = dc=sb,dc=lan
auth_provider = krb5
krb5_server = dc.sb.lan
krb5_passwd = dc.sb.lan
krb5_validate = True
Espero que alguien con más conocimientos sobre samba/AD pueda darme algunos consejos sobre la mejor manera de solucionar este problema. ¿Existen herramientas que pueda utilizar para profundizar en la causa raíz?
Actualización 2
Después de agregar la siguiente línea en sssd.conf en la computadora cliente ubuntu
ad_gpo_access_control = permissive
Finalmente puedo iniciar sesión a través de la línea de comando sudo login
. Pero, desafortunadamente, después de un inicio de sesión exitoso, creo que intenta descargar políticas, lo cual falla.
Last login: Wed Apr 17 14:15:01 CEST 2024 on pts/2
Applying machine settings
ERROR Error from server: error while updating policy: can't get policies for "legion-ubuntu": failed to retrieve the list of GPO (exited with 1): exit status 1
Failed to bind - LDAP client internal error: NT_STATUS_INVALID_PARAMETER
Failed to connect to 'ldap://dc.sb.lan' with backend 'ldap': LDAP client internal error: NT_STATUS_INVALID_PARAMETER
Failed to open session: (1, 'LDAP client internal error: NT_STATUS_INVALID_PARAMETER')
Failure setting user credentials
Estoy solucionando este problema en paralelo, por supuesto, esperando que alguien me diga qué arreglar y dónde ;-). Si logro resolver esto por mí mismo, actualizaré la pregunta.
Respuesta1
Después de reinstalar ubuntu en mi PC cliente y repasar todos los pasos una vez más, logré solucionar el problema. Ahora puedo iniciar sesión en mi servidor AD samba.
Tuve que hacer dos cosas que se desvían de los documentos oficiales:
- arreglar krb5.conf antes de unirse
- después de unirse, parchee el sssd.conf
Primer paso, necesito deshabilitar el DNS inverso en krb5 en el cliente ubuntu.
[libdefaults]
rdns = false
Luego, después de unirme exitosamente al dominio, sudo realm -v join <domain-name>
tuve que agregar la siguiente línea en sssd.conf en el cliente ubuntu.
# THIS IS MANDATORY to fix "permission denied" when PAM tries to authenticate
# https://serverfault.com/questions/872542/debugging-sssd-login-pam-sss-system->
# suggested work around in question
ad_gpo_access_control = permissive
Una vez que hice eso y reinicié sssd
sudo systemctl restart sssd
puedo iniciar sesión
bp@legion-ubuntu:~ % sudo login
legion-ubuntu.sb.lan login: SB\bp
Password:
Welcome to Ubuntu 23.04 (GNU/Linux 6.2.0-37-generic x86_64)
Ya no se producen errores. Cuando cierro la sesión del usuario local, finalmente puedo iniciar sesión como usuario de AD