第10章 nslcd から SSSD への認証の移行

10.1. RHEL クライアントを nslcd から SSSD に移行する

nss-pam-ldapd パッケージが RHEL から削除されたため、Red Hat は SSSD とその ldap プロバイダーに移行することを推奨します。これは nslcd サービスの機能を置き換えます。次の手順では、nss-pam-ldap 認証設定を使用するように以前に設定されたクライアントで LDAP ユーザーを認証するように SSSD を設定する方法について説明します。

前提条件

  • RHEL クライアントは RHEL8 または 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. nslcd および nscd サービスを停止して無効にします。

    # 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