Samba AD não consegue fazer login no usuário do domínio no cliente Linux

Samba AD não consegue fazer login no usuário do domínio no cliente Linux

Estou experimentando o Samba como controlador de diretório ativo em minha rede doméstica nas últimas duas semanas.

Instalei o samba no servidor Ubuntu 22.04 seguindo alguns guias e vídeos, masesta páginacobre a maior parte. Consigo associar computadores ao domínio, tanto Windows quanto Linux. Posso listar os computadores associados usando samba-tool computer list.

Criei usuários e grupos com sucesso usando a ferramenta samba. Em clientes Windows, posso fazer login usando essas contas.

Do linux (ubuntu 23.04 e 23.10) posso ingressar no domínioseguindo o Ubuntu oficialdocs, mas não consigo fazer login.

bp@bas-hp:samba (master) % sudo login                   
bas-hp login: [email protected]
Password: 

Login incorrect
bas-hp login: [email protected]
Password: 

Login incorrect

Consigo criar um ticket 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

Os resultados da minha tentativa na seção Testes no documento que estou seguindo parecem começar bem:

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

Mas quando emito o groupscomando vejo alguns 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]

Estou pesquisando em paralelo no Google quando "replicação de senha rodc negada" significa e se/como preciso consertar isso.


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 alguém com mais conhecimento em samba/AD possa me dar algumas dicas sobre a melhor forma de solucionar esse problema. Existem ferramentas que posso usar para detalhar a causa raiz?

Atualização 2

Depois de adicionar a seguinte linha em sssd.conf no computador cliente Ubuntu

ad_gpo_access_control = permissive

Finalmente posso fazer login através da linha de comando sudo login. Mas, infelizmente, após um login bem-sucedido, ele tenta baixar as políticas, eu acho, o que falha.

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

Estou solucionando isso em paralelo, é claro, esperando que alguém me diga o que consertar e onde ;-). Se eu conseguir descobrir isso sozinho, atualizarei a pergunta.

Responder1

Depois de reinstalar o Ubuntu no meu PC cliente e repassar todas as etapas mais uma vez, consegui resolver o problema. Agora posso fazer login no meu servidor samba AD.

Duas coisas que tive que fazer estão me desviando dos documentos oficiais:

  • corrija krb5.conf antes de entrar
  • após ingressar, corrija o sssd.conf

Primeiro passo, preciso desabilitar o DNS reverso no krb5 no cliente Ubuntu.

[libdefaults]
    rdns = false

Em seguida, depois de ingressar com sucesso no domínio, sudo realm -v join <domain-name>tive que adicionar a seguinte linha em sssd.conf no 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

Depois que fiz isso e reiniciei o sssd

sudo systemctl restart sssd

Eu posso fazer login

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)

Nenhum erro ocorre mais. Quando eu faço logoff do usuário local, posso finalmente fazer login como usuário AD

informação relacionada