11장. nslcd에서 SSSD로 인증 마이그레이션
11.1. RHEL 클라이언트를 nslcd에서 SSSD로 마이그레이션
RHEL에서 ns-pam-
패키지가 제거되었으므로 Red Hat은 ldap
dSSSD
및 해당 ldap 공급자로 마이그레이션할 것을 권장합니다. 이 공급자는 nslcd
서비스의 기능을 대체합니다. 다음 절차에서는 nss-pam-ldap
인증 구성을 사용하도록 이전에 구성한 클라이언트에서 LDAP 사용자를 인증하도록 SSSD
를 구성하는 방법을 설명합니다.
사전 요구 사항
- RHEL 클라이언트는 RHEL 8 또는 RHEL 9에 있습니다.
-
이전에는
nslcd
서비스를 사용하여 LDAP 디렉터리 서버에 인증하도록 RHEL 클라이언트를 구성했습니다. - LDAP 디렉터리 서비스는 RFC-2307에 정의된 스키마를 사용합니다.
절차
현재 인증 구성을 백업합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow authselect apply-changes -b --backup=ldap-configuration-backup
# authselect apply-changes -b --backup=ldap-configuration-backup
SSSD
패키지를 설치합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install sssd-ldap sssd-ad sssd-client \ sssd-common sssd-common-pac \ sssd-krb5 sssd-krb5-common
# yum install sssd-ldap sssd-ad sssd-client \ sssd-common sssd-common-pac \ sssd-krb5 sssd-krb5-common
nslcd
및nscd
서비스를 중지하고 비활성화합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop nslcd nscd systemctl disable nslcd nscd
# systemctl stop nslcd nscd # systemctl disable nslcd nscd
SSSD
를 사용하여 인증 설정:Copy to Clipboard Copied! Toggle word wrap Toggle overflow authselect select sssd with-mkhomedir --force
# authselect select sssd with-mkhomedir --force
SSSD
구성 파일에 필요한 소유권 및 권한을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown root:root /etc/sssd/sssd.conf chmod 600 /etc/sssd/sssd.conf
# chown root:root /etc/sssd/sssd.conf # chmod 600 /etc/sssd/sssd.conf
-
편집을 위해
/etc/sssd/sssd.conf
파일을 엽니다. 다음 구성을 입력하고
example.com
및dc=example,dc=com
과 같은 값을 환경에 적합한 값으로 바꿉니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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] 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] 섹션에 다음 행을 추가하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ldap_schema = rfc2307bis
ldap_schema = rfc2307bis
Microsoft Active Directory 서버를 사용하는 경우
[domain/EXAMPLE.COM]
섹션에 다음 행을 추가하여 LDAP 기반 인증을 활성화합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ldap_schema = ad
ldap_schema = ad
Kerberos 인증이 필요한 경우 Red Hat은
SSSD
서비스를 자동으로 구성하는realm
명령을 사용하여 RHEL 클라이언트를 AD 도메인에 가입하는 것이 좋습니다.SSSD
서비스를 활성화하고 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl enable sssd systemctl start sssd
# systemctl enable sssd # systemctl start sssd
검증
LDAP 사용자에 대한 정보를 검색할 수 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow id ldapuser getent passwd ldapuser
# id ldapuser uid=100424(ldapuser) gid=100424(ldapuser) groups=100424(ldapuser) # getent passwd ldapuser ldapuser:*: 100424: 100424:User, LDAP:/home/ldapuser:/bin/bash
LDAP 사용자로 로그인할 수 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ssh -l ldapuser localhost
# ssh -l ldapuser localhost ldapuser@localhost's password: Last login: Tue Dec 07 19:34:35 2021 from localhost -sh-4.2$
nslcd
및 nscd
를 사용하여 원래 LDAP 구성을 복원해야 하는 경우 다음 명령을 사용하십시오.
authselect backup-restore=ldap-configuration-backup systemctl stop sssd && systemctl disable sssd systemctl start nslcd nscd systemctl enable nslcd nscd
# authselect backup-restore=ldap-configuration-backup
# systemctl stop sssd && systemctl disable sssd
# systemctl start nslcd nscd
# systemctl enable nslcd nscd