10장. nslcd에서 SSSD로 인증 마이그레이션

10.1. RHEL 클라이언트를 nslcd에서 SSSD로 마이그레이션

RHEL에서 ns-pam- ldap d 패키지가 제거되었으므로 Red Hat은 SSSD 및 해당 ldap 공급자로 마이그레이션할 것을 권장합니다. 이 공급자는 nslcd 서비스의 기능을 대체합니다. 다음 절차에서는 nss-pam-ldap 인증 구성을 사용하도록 이전에 구성한 클라이언트에서 LDAP 사용자를 인증하도록 SSSD 를 구성하는 방법을 설명합니다.

사전 요구 사항

  • RHEL 클라이언트는 RHEL 8 또는 RHEL 9에 있습니다.
  • 이전에는 nslcd 서비스를 사용하여 LDAP 디렉터리 서버에 인증하도록 RHEL 클라이언트를 구성했습니다.
  • LDAP 디렉터리 서비스는 RFC-2307에 정의된 스키마를 사용합니다.

절차

  1. 현재 인증 구성을 백업합니다.

    # authselect apply-changes -b --backup=ldap-configuration-backup
  2. SSSD 패키지를 설치합니다.

    # yum install sssd-ldap sssd-ad sssd-client \
                  sssd-common sssd-common-pac \
                  sssd-krb5 sssd-krb5-common
  3. nslcdnscd 서비스를 중지하고 비활성화합니다.

    # systemctl stop nslcd nscd
    # systemctl disable nslcd nscd
  4. SSSD 를 사용하여 인증 설정:

    # authselect select sssd with-mkhomedir --force
  5. SSSD 구성 파일에 필요한 소유권 및 권한을 설정합니다.

    # chown root:root /etc/sssd/sssd.conf
    # chmod 600 /etc/sssd/sssd.conf
  6. 편집을 위해 /etc/sssd/sssd.conf 파일을 엽니다.
  7. 다음 구성을 입력하고 example.comdc=example,dc=com 과 같은 값을 환경에 적합한 값으로 바꿉니다.

    [sssd]
    config_file_version = 2
    services = nss, pam
    domains = EXAMPLE.COM
    debug_level = 6
    
    [domain/EXAMPLE.COM]
    id_provider = ldap
    auth_provider = ldap
    ldap_uri = ldap://server.example.com/
    ldap_search_base = dc=example,dc=com
    ldap_default_bind_dn = CN=binddn,DC=example,DC=com
    ldap_default_authtok_type = password
    ldap_default_authtok = <bind_account_password>
    cache_credentials = True
    참고

    SSSD 구성에서 LDAP 스키마를 지정해야 할 수 있습니다.

    디렉터리 서버에서 RFC-2307bis 스키마를 사용하는 경우 [domain/EXAMPLE.COM] 섹션에 다음 행을 추가하십시오.

    ldap_schema = rfc2307bis

    Microsoft Active Directory 서버를 사용하는 경우 [domain/EXAMPLE.COM] 섹션에 다음 행을 추가하여 LDAP 기반 인증을 활성화합니다.

    ldap_schema = ad

    Kerberos 인증이 필요한 경우 Red Hat은 SSSD 서비스를 자동으로 구성하는 realm 명령을 사용하여 RHEL 클라이언트를 AD 도메인에 가입하는 것이 좋습니다.

  8. SSSD 서비스를 활성화하고 시작합니다.

    # systemctl enable sssd
    # systemctl start sssd

검증 단계

  1. LDAP 사용자에 대한 정보를 검색할 수 있는지 확인합니다.

    # id ldapuser
     uid=100424(ldapuser) gid=100424(ldapuser) groups=100424(ldapuser)
    
    # getent passwd ldapuser
    ldapuser:*: 100424: 100424:User, LDAP:/home/ldapuser:/bin/bash
  2. LDAP 사용자로 로그인할 수 있는지 확인합니다.

    # ssh -l ldapuser localhost
    ldapuser@localhost's password:
    Last login: Tue Dec 07 19:34:35 2021 from localhost
    -sh-4.2$
참고

nslcdnscd 를 사용하여 원래 LDAP 구성을 복원해야 하는 경우 다음 명령을 사용하십시오.

# authselect backup-restore=ldap-configuration-backup
# systemctl stop sssd && systemctl disable sssd
# systemctl start nslcd nscd
# systemctl enable nslcd nscd