저는 지난 2주 동안 홈 네트워크에서 Samba를 Active Directory 컨트롤러로 사용하려고 노력해 왔습니다.
우분투 서버 22.04에 삼바를 설치하기 위해 몇 가지 가이드와 비디오를 따랐지만,이 페이지대부분을 다룹니다. Windows 및 Linux 시스템을 도메인에 가입시킬 수 있습니다. 을 사용하여 연결된 컴퓨터를 나열할 수 있습니다 samba-tool computer list
.
삼바 도구를 사용하여 사용자와 그룹을 성공적으로 만들었습니다. 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에 Ubuntu를 다시 설치하고 모든 단계를 다시 확인한 후 문제가 성공적으로 해결되었습니다. 이제 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 사용자로 로그인할 수 있습니다.