Linux 환경 인증 시스템을 Windows Server 2012에 통합하는 방법을 알아보려고 하다가 winbind
.
Google에서 검색했는데 시간 동기화부터 일부 프로필 구성까지 이를 수행하는 방법에 대한 여러 페이지가 있습니다.
아래와 같이 Linux에서 호스트 이름과 호스트를 설정했습니다.
[/etc/호스트] 192.168.XXX.XX1 test1.example.com 예시## 윈도우 IP 192.168.XXX.XX2 test1 ## 리눅스 IP [/etc/호스트 이름] 테스트 1
다음 속성을 사용하여 Active Directory를 설정했으며 두 개의 계정이 있습니다.
컴퓨터 이름: TEST1 도메인 이름: example.com 계정 1: 관리자 계정 2: 테스터 1
그래서 Linux 환경의 DNS를 AD의 IP 주소로 설정했습니다. "resolv.conf"에서 해당 정보를 볼 수 있습니다.
[루트 ~]# nslookup example.com 서버: 192.168.xxx.xx1 주소: 192.168.xxx.xx1#53 이름: example.com 주소: 192.168.xxx.xxx
"nsswitch.conf"에서 "file" 옆에 "winbind"라는 단어를 추가했습니다.
passwd: 파일 winbind 섀도우: 파일 sss winbind 그룹: 파일 winbind
"krb5.conf"에서 조회 섹션과 기본 영역을 변경했습니다.
[라이브러리 기본값] dns_lookup_realm = 참 dns_lookup_kdc=참 기본 영역=EXAMPLE.COM [필드] 도메인 이름.COM = { kdc=example.com admin_server = example.com } [도메인 필드] .domain.com = example.COM domain.com = example.COM
드디어 설정해봤습니다 smb.conf
. 그런데 설정하는 방법이 다양해서 잘 모르겠습니다. 방금 Google 페이지 중 하나를 선택했습니다.
"관리자" ID를 사용하여 Windows Server에 연결하려고 하면 다음 오류가 나타납니다.
[root ~]# 광고네트워크 Join-U 관리자 gse_get_client_auth_token: gss_init_sec_context가 [지정되지 않은 GSS 오류로 인해 실패했습니다. 부 코드는 추가 정보를 제공할 수 있습니다: 수정된 메시지 흐름](2529638953) ldap/test1.example.com의 경우 [Administrator] 사용자에 대한 [EXAMPLE.COM] 영역에 대한 kinit는 성공했지만 Ads_sasl_spnego_gensec_bind(KRB5)는 실패합니다. 시도한 로그인이 유효하지 않습니다. 사용자 이름이나 인증 정보가 잘못되었기 때문일 수 있습니다. 도메인 가입 실패: AD 연결 실패: 로그인 시도가 잘못되었습니다. 사용자 이름이나 인증 정보가 잘못되었기 때문일 수 있습니다.
이 단계에서 멈춰서 Google에서 해결책을 찾을 수 없습니다. 일부 파일을 편집해야 합니까 /etc/pam.d
?
"testparm" 도구를 사용한 후에는 smb.conf
결국 어떤 문제도 발견할 수 없었지만 이제 "net Ads testjoin"을 사용하면 다음 메시지가 표시됩니다.
Ads_connect: 현재 로그인 요청을 처리하는 데 사용할 수 있는 로그인 서버가 없습니다.
답변1
모든 변경 사항을 취소하고 AD에서 컴퓨터 계정을 제거하십시오. winbind
포장을 제거하세요 .
적절한 패키지 선택을 설치하십시오. Debian 기반 시스템에서는 apt-get install samba smbclient sssd realmd dnsutils policykit-1 packagekit sssd-tools sssd libnss-sss libpam-sss adcli
.
sssd
이 시점에서 시작되지 않더라도 걱정하지 마세요 . realm
나중에 설명할 명령을 사용하여 구성 해야 합니다 .
로컬 Linux 기반 시스템의 DNS 서버에 DC가 있는지 확인하십시오. Active Directory 환경의 일부가 아닌 이상 다른 DNS 서버를 추가하지 마십시오. 편집만 /etc/resolv.conf
하고 "이 파일을 편집하지 마십시오" 경고를 무시하면 변경 사항을 덮어쓸 수 있습니다. 이 시점에서 시스템은 누구도 인증할 수 없으며 결국 도메인 외부로 나갈 수도 있습니다. (이 시점에서 사용자는 불만을 느끼는 경향이 있습니다.)
Kerberos는 5분(300초) 이상의 편차로 작동할 수 없으므로 현지 시간이 Active Directory의 시간과 일치하는지 확인하십시오.
로컬 도메인의 경우 contoso.com
루트로 다음 세 가지 명령을 실행합니다.
domain=contoso.com # The FQDN itself. Not machine.FQDN
realm discover "$domain" # If this fails, stop and recheck everything
realm join "$domain" # [--user <ad_username>] [--computer-ou <ou>]
AD 계정 이름을 제공해야 하는 경우 자격이 없음을 의미하는 곳을 realm join
사용하세요 . 자신의 AD 계정이 도메인 관리자가 아니더라도 최소 10명의 클라이언트에서 작동해야 합니다. 단, 해당 계정 의 비밀번호를 알고 있는 경우 유용한 옵션입니다. 이 옵션을 사용하면 계정의 초기 OU를 지정할 수 있습니다. 올바른 값을 모르는 경우에는 공백으로 두십시오(추측하지 마십시오).realm join --user <ad_username> "$domain"
<ad_username>
sAMAccountName
administrator
--computer-ou
파일을 복구합니다 sssd.conf
. 이것ad_hostname
일부 버전에 필수오류 해결. LDAP 그룹 중첩 수준을 사용하면 sssd
중첩된 그룹의 멤버십을 처리할 수 있습니다.
sed -i "/^ad_domain /s/$/\nad_hostname = $(hostname).$domain/" /etc/sssd/sssd.conf
( echo; echo 'ldap_group_nesting_level = 5'; echo 'ldap_use_tokengroups = false' ) >>/etc/sssd/sssd.conf
service sssd restart