Samba AD не может войти в домен пользователя на клиенте Linux

Samba AD не может войти в домен пользователя на клиенте Linux

Последние две недели я экспериментирую с Samba в качестве контроллера Active Directory в своей домашней сети.

Я установил Samba на Ubuntu Server 22.04, следуя нескольким руководствам и видео, ноэта страницаохватывает большую часть. Я могу присоединять компьютеры к домену, как windows, так и linux. Я могу перечислить присоединенные компьютеры, используя samba-tool computer list.

Я успешно создал пользователей и группы с помощью инструмента samba. Из клиентов Windows я могу войти, используя эти учетные записи.

Из Linux (Ubuntu 23.04 и 23.10) я могу присоединиться к доменупосле официального ubuntudocs, но я не могу войти.

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

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

Login incorrect

Я могу создать билет 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

Результаты моего изучения раздела «Тестирование» в документе, за которым я следую, поначалу кажутся хорошими:

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

Но когда я даю groupsкоманду, я вижу некоторые тревожные результаты.

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]

Я параллельно гуглю, что означает «отказано в репликации пароля rodc» и нужно ли это исправить/как это исправить.


Полный sssd.conf

[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

Я надеюсь, что кто-то с большими знаниями о samba/AD сможет дать мне несколько указаний, как лучше всего устранить эту проблему. Есть ли инструменты, которые я могу использовать, чтобы докопаться до первопричины?

Обновление 2

После добавления следующей строки в sssd.conf на клиентском компьютере Ubuntu

ad_gpo_access_control = permissive

Я наконец-то могу войти через командную строку sudo login. Но, к сожалению, после успешного входа он пытается загрузить политики, как мне кажется, но это не удается.

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

Я параллельно устраняю эту неполадку, конечно, надеясь на то, что кто-то просто скажет мне, что и где исправить ;-). Если мне удастся разобраться с этим самостоятельно, я обновлю вопрос.

решение1

После переустановки Ubuntu на моем клиентском ПК и повторного выполнения всех шагов мне удалось исправить проблему. Теперь я могу войти на свой сервер Samba AD.

Мне пришлось сделать две вещи, которые отклоняются от официальных документов:

  • исправить krb5.conf перед присоединением
  • после присоединения исправьте sssd.conf

Первым делом мне нужно отключить обратный DNS в krb5 на клиенте Ubuntu.

[libdefaults]
    rdns = false

Далее, после успешного присоединения к домену, sudo realm -v join <domain-name>мне пришлось добавить следующую строку в sssd.conf на клиенте 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

После того, как я это сделал, и перезапустил sssd

sudo systemctl restart sssd

Я могу войти

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)

Ошибок больше не возникает. Когда я выхожу из локального пользователя, я наконец могу войти как пользователь AD

Связанный контент