Samba AD가 Linux 클라이언트에서 도메인 사용자로 로그인할 수 없습니다.

Samba AD가 Linux 클라이언트에서 도메인 사용자로 로그인할 수 없습니다.

저는 지난 2주 동안 홈 네트워크에서 Samba를 Active Directory 컨트롤러로 실험하고 있습니다.

몇 가지 가이드와 비디오에 따라 우분투 서버 22.04에 삼바를 설치했지만이 페이지대부분을 다룹니다. Windows와 Linux 모두에서 컴퓨터를 도메인에 가입시킬 수 있습니다. 를 사용하여 연결된 컴퓨터를 나열할 수 있습니다 samba-tool computer list.

Samba 도구를 사용하여 사용자와 그룹을 성공적으로 만들었습니다. Windows 클라이언트에서는 이 계정을 사용하여 로그인할 수 있습니다.

Linux(ubuntu 23.04 및 23.10)에서 도메인에 가입할 수 있습니다.공식 우분투를 따르다문서가 있지만 로그인할 수 없습니다.

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에 다음 줄을 추가한 후

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

내 클라이언트 PC에 우분투를 다시 설치하고 모든 단계를 한 번 더 수행한 후 문제를 해결할 수 있었습니다. 이제 Samba AD 서버에 로그인할 수 있습니다.

공식 문서에서 벗어나는 두 가지 작업을 수행해야 했습니다.

  • 가입하기 전에 krb5.conf를 수정하세요.
  • 가입 후 sssd.conf를 패치하세요.

첫 번째 단계로, 우분투 클라이언트의 krb5에서 역방향 DNS를 비활성화해야 합니다.

[libdefaults]
    rdns = false

다음으로 도메인에 성공적으로 가입한 후 sudo realm -v join <domain-name>우분투 클라이언트의 sssd.conf에 다음 줄을 추가해야 했습니다.

# 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 사용자로 로그인할 수 있습니다.

관련 정보