Realmd + sssd를 사용하여 Ubuntu 16.04를 Windows 도메인(Active Directory)에 가입하려고 합니다. 기본적으로 팔로우 중이에요이 게시물이것은 훌륭하게 작동합니다. 내 서버에 가입하고 AD 사용자로 성공적으로 인증할 수 있습니다. 그러나 통합에는 두 가지 부분이 누락되어 있습니다.
- DNS에 서버의 호스트 이름을 등록합니다.
- 사용SSD-sudo사용자 인증을 위해
DNS에 서버의 호스트 이름을 등록합니다.
앞에서 언급했듯이 다음 명령을 사용하여 성공적으로 AD에 가입했습니다
realm join --user=dpr MYDOMAIN.INT --install=/
.
root@ip-172-28-5-174 ~ # realm list
mydomain.int
type: kerberos
realm-name: MYDOMAIN.INT
domain-name: mydomain.int
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %[email protected]
login-policy: allow-realm-logins
그러나 성공적으로 가입했음에도 불구하고 내 서버는 해당 호스트 이름을 사용하는 도메인의 다른 컴퓨터에 알려지지 않았습니다 ip-172-28-5-174.mydomain.int
. 내가 찾은이 문서dyndns_update
sssd.conf 파일의 설정을 언급합니다 .
영역을 사용하고 있기 때문입니다. sssd 구성은 Join 명령을 실행하여 자동으로 생성됩니다. 생성된 구성 파일은 다음과 같습니다.
[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam
[domain/mydomain.int]
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
dyndns_update = True
즉, 생성된 파일에 어떻게든 추가해야 합니다. 하지만 어떻게?
사용자 인증을 위해 sssd-sudo 사용
또한 sssd가 AD에서 내 sudo 구성을 읽기를 원합니다. 나는 이것이 다음을 사용하여 달성 될 수 있다고 생각합니다.SSD-sudo하지만 이 서비스도 sudo
sssd 서비스에 추가하고 이를 내 도메인에 사용하여 sudo_provider = ldap
sssd.conf 파일에서 활성화/구성 해야 합니다. 이번에도 영역을 사용하여 이 작업을 수행하는 방법을 알 수 없습니다.
기본적으로 생성된 구성 파일이 다음과 같기를 원합니다.
[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam, sudo
[domain/mydomain.int]
id_provider = ad
access_provider = ad
sudo_provider = ldap
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
이를 달성하는 방법에 대한 아이디어가 있습니까?
답변1
Active Directory에서 관리하도록 하려면 sudoers
특수한 스키마를 AD에 로드한 다음 ADSI 편집과 같은 도구를 사용하여 규칙을 만들어야 합니다. 이 연습Ubuntu 14.04에서 작동합니다. 주요 내용은 다음과 같습니다.
- 수입
schema.ActiveDirectory
- 다음과 같이 규칙을 만듭니다.sudoers-ldap 맨페이지
- 이 행 의 항목
etc/nsswitch.conf
에 포함되도록 업데이트하세요 .sss
sudoers =
- 업데이트에는 다음이
etc/sssd/sssd.conf
포함됩니다.sudo
services =
이 행의 항목에- 빈
[sudo]
섹션(구성이 필요하지 않지만빨간 모자이것이 sudo 지원의 올바른 구성을 트리거하는지 확인) - 다음과 같은 줄
sudo_provider = ad
(sssd 문서에 있음)pagure.orgsudo 공급자는 ldap, ad 및 ipa에 대해 기본적으로 활성화되어 있으므로 이는 선택 사항일 수 있음을 나타냅니다.
16.04(즉, 14.04와 동일한 AD 규칙)에서 이 프로세스를 반복했을 때 실제로 다른 문제가 발생했습니다. 분명히 이것은드문 일이 아니다. 하나 있을 수도 있지허점16.04에 포함된 sudo 버전.
- 원칙적으로 수동으로 업그레이드하세요.최신이 문제는 해결되어야 합니다.
- SSSD가 LDAP 연결을 관리하도록 하려는 경우에는 일반
sudo
패키지(대신sudo-ldap
)가 올바른 패키지입니다 .sudo
특히 설치 시에는sudo-ldap
로그인이 생성되지 않지만sssd_sudo.log
일반sudo
패키지에서는 로그인이 생성됩니다. - 지금 은
sssd_sudo
표시되지만 여전히 응답하므로 해결해야 할 다른 문제가 있을 수 있습니다.Returning 2 rules for [<user>@<domain>]
sudo -l
Sorry, user <user>@<domain> may not run sudo on <host>
그러나 일반적이지 않은 몇 가지 다른 문제에 직면했기 때문에 내 상황은 일반적이지 않을 수 있습니다. 예를 들어, 실행하는 데 문제가 있었고 realm join
다음 해결 방법을 사용하여 해결했습니다.이번 서버 장애 문제.
16.04의 Realmd/sssd/sudo 문제로 인해 여기까지 온 경우 도움이 될 수 있는 보고된 다른 문제는 다음과 같습니다(OP의 질문과 직접 관련이 없을 수도 있음).
- IPA 호스트 네트워크 그룹 문제(자세한 내용은무료 ipa 사용자 목록)
- 하나 있다알려진 문제realmd 종속성 해결을 사용하세요. 토론에서 언급했듯이 packagekit을 설치하면 (우리를 포함하여) 많은 사람들의 문제가 해결됩니다. 하나 있을 수도 있지별도 발행버전은 16.04입니다.
우리는 16.04에 대한 업그레이드를 평가하고 있으므로 아마도 미뤄두겠지만 우리의 발품이 다른 누군가에게 도움이 되기를 바랍니다.
답변2
안타깝게도 realmd에서 생성된 sssd.conf 파일에 사용자 정의 구성 매개변수를 추가할 수 있는 옵션이 없는 것 같습니다.
필요한 설정을 포함하도록 생성된 구성을 조정해야 했습니다.뒤쪽에설정을 적용하려면 도메인 가입을 사용 realm join
하고 sssd( )를 다시 시작하세요 .service restart sssd