realmd(sudo 및 dyndns_update)를 사용하여 SSSD 구성

realmd(sudo 및 dyndns_update)를 사용하여 SSSD 구성

Realmd + sssd를 사용하여 Ubuntu 16.04를 Windows 도메인(Active Directory)에 가입하려고 합니다. 기본적으로 팔로우 중이에요이 게시물이것은 훌륭하게 작동합니다. 내 서버에 가입하고 AD 사용자로 성공적으로 인증할 수 있습니다. 그러나 통합에는 두 가지 부분이 누락되어 있습니다.

  1. DNS에 서버의 호스트 이름을 등록합니다.
  2. 사용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_updatesssd.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하지만 이 서비스도 sudosssd 서비스에 추가하고 이를 내 도메인에 사용하여 sudo_provider = ldapsssd.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에 포함되도록 업데이트하세요 .ssssudoers =
  • 업데이트에는 다음이 etc/sssd/sssd.conf포함됩니다.
    • sudoservices =이 행의 항목에
    • [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 -lSorry, user <user>@<domain> may not run sudo on <host>

그러나 일반적이지 않은 몇 가지 다른 문제에 직면했기 때문에 내 상황은 일반적이지 않을 수 있습니다. 예를 들어, 실행하는 데 문제가 있었고 realm join다음 해결 방법을 사용하여 해결했습니다.이번 서버 장애 문제.

16.04의 Realmd/sssd/sudo 문제로 인해 여기까지 온 경우 도움이 될 수 있는 보고된 다른 문제는 다음과 같습니다(OP의 질문과 직접 ​​관련이 없을 수도 있음).

우리는 16.04에 대한 업그레이드를 평가하고 있으므로 아마도 미뤄두겠지만 우리의 발품이 다른 누군가에게 도움이 되기를 바랍니다.

답변2

안타깝게도 realmd에서 생성된 sssd.conf 파일에 사용자 정의 구성 매개변수를 추가할 수 있는 옵션이 없는 것 같습니다.

필요한 설정을 포함하도록 생성된 구성을 조정해야 했습니다.뒤쪽에설정을 적용하려면 도메인 가입을 사용 realm join하고 sssd( )를 다시 시작하세요 .service restart sssd

관련 정보