7.5. SSSD のシステムサービスの設定

SSSD は、複数のシステムサービスへのインターフェースを提供します。特に以下が知られています。
Name Service Switch (NSS)
「サービスの設定: NSS」 を参照してください。
PAM (プラグ可能な認証モジュール)
「サービスの設定: PAM」 を参照してください。
OpenSSH
Linux ドメイン ID、認証、およびポリシーガイド』 の 「SSSD が OpenSSH サービス用にキャッシュを提供するように設定する方法」 を参照してください。
autofs
「サービスの設定: autofs を参照してください。
sudo
「サービスの設定: sudo を参照してください。

7.5.1. サービスの設定: NSS

SSSD が NSS と機能する方法

Name Service Switch (NSS) サービスは、システムアイデンティティーおよびサービスを設定ソースとマッピングします。つまり、サービスが様々な設定ソースおよび名前解決メカニズムをルックアップできる中央設定ストアを提供します。
SSSD は、数種類の NSS マップのプロバイダーとして、NSS を使用することができます。
  • ユーザー情報 (passwd のマッピング)
  • グループ (groups のマッピング)
  • ネットグループ (netgroups のマッピング)
  • サービス (services のマッピング)

前提条件

  • SSSD をインストールします。
    # yum install sssd

NSS サービスを設定して SSSD を使用

  1. authconfig ユーティリティーを使用して SSSD を有効にします。
    [root@server ~]# authconfig --enablesssd --update
    これにより /etc/nsswitch.conf ファイルがアップデートされ、SSSD を使うために以下の NSS のマッピングが有効になります。
    passwd:     files sss
    shadow:     files sss
    group:      files sss
    
    netgroup:   files sss
  2. /etc/nsswitch.conf を開いて、sssservices マッピングラインに追加します。
    services: file sss

NSS と機能するようにSSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションでは、NSS が SSSD と共に機能するサービスの 1 つとして記載されていることを確認します。
    [sssd]
    [... file truncated ...]
    services = nss, pam
  3. [nss] セクションでは、SSSD が NSS と対話する方法を設定します。以下に例を示します。
    [nss]
    filter_groups = root
    filter_users = root
    entry_cache_timeout = 300
    entry_cache_nowait_percentage = 75
    利用可能なオプションの完全な一覧については、sssd.conf(5) の man ページの NSS configuration options を参照してください。
  4. SSSD を再起動します。
    # systemctl restart sssd.service

統合が正常に機能するかをテスト

以下のコマンドを使用して、ユーザー情報を表示します。
  • id user
  • getent passwd user

7.5.2. サービスの設定: PAM

警告

PAM 設定ファイルに誤りがあると、ユーザーはシステムから完全にロックアウトされてしまいます。設定ファイルは変更を行う前に必ずバックアップを作成し、変更を元に戻すことができるようにセッションをオープンのままにしてください。

PAM を設定して SSSD を使用

  • authconfig ユーティリティーを使用して SSSD を有効にします。
    # authconfig --enablesssdauth --update
    これにより、通常は /etc/pam.d/system-auth ファイルおよび /etc/pam.d/password-auth ファイルで PAM 設定がアップデートされ、SSSD モジュールを参照します。以下に例を示します。
    [... file truncated ...]
    auth		required	pam_env.so
    auth		sufficient	pam_unix.so nullok try_first_pass
    auth		requisite	pam_succeed_if.so uid >= 500 quiet
    auth        	sufficient	pam_sss.so use_first_pass
    auth		required	pam_deny.so
    [... file truncated ...]
詳細は、 pam.conf(5) または pam(8) の各 man ページを参照してください。

PAM と機能するようにSSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションでは、NSS が SSSD と共に機能するサービスの 1 つとして記載されていることを確認します。
    [sssd]
    [... file truncated ...]
    services = nss, pam
  3. [pam] セクションでは、SSSD が PAM と対話する方法を設定します。以下に例を示します。
    [pam]
    offline_credentials_expiration = 2
    offline_failed_login_attempts = 3
    offline_failed_login_delay = 5
    利用可能なオプションの完全な一覧については、sssd.conf(5) の man ページの PAM configuration options を参照してください。
  4. SSSD を再起動します。
    # systemctl restart sssd.service

統合が正常に機能するかをテスト

  • ユーザーとしてログインを試行します。
  • sssctl user-checks user_name auth コマンドを使用して、SSSD 設定を確認します。詳細については、sssctl user-checks --help コマンドを使用します。

7.5.3. サービスの設定: autofs

SSSD が automount と機能する方法

automount ユーティリティーでは、NFS ファイルシステムの自動マウントおよび自動アンマウントが可能なため (オンデマンドによるマウント機能)、システムのリソースを節約することができます。automount の詳細は、ストレージ管理ガイドの autofs を参照してください。
automount を SSSD に向けるよう設定することができます。以下のようなセットアップで可能です。
  1. ユーザーがディレクトリーのマウントを試行する場合、SSSD は LDAP に連絡し、現行の automount 設定に関する必要な情報を取得します。
  2. SSSD は、automount が必要とする情報をキャッシュに保存するので、LDAP サーバーがオフラインになっても、ユーザーはディレクトリーをマウントすることができます。

autofs を設定して SSSD を使用

  1. autofs パッケージをインストールします。
    # yum install autofs
  2. /etc/nsswitch.conf ファイルを開きます。
  3. automount ライン上で、automount のマップ情報を探すための場所を ldap から sss へと変更します。
    automount: files sss

autofs と機能するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションで、SSSD が管理するサービスの一覧に autofs を追加します。
    [sssd]
    services = nss,pam,autofs
  3. 新しい [autofs] セクションを作成します。空のままでかまいません。
    [autofs]
    利用可能なオプションの一覧については、sssd.conf(5) の man ページの AUTOFS configuration options を参照してください。
  4. SSSD が LDAP から automount 情報を読み取れるように、LDAP ドメインが sssd.conf で利用可能であることを確認してください。詳細は、 「SSSD 向け LDAP ドメインの設定」 を参照してください。
    sssd.conf[domain] セクションは、複数の autofs 関連のオプションを受け入れます。以下に例を示します。
    [domain/LDAP]
    [... file truncated ...]
    autofs_provider=ldap
    ldap_autofs_search_base=cn=automount,dc=example,dc=com
    ldap_autofs_map_object_class=automountMap
    ldap_autofs_entry_object_class=automount
    ldap_autofs_map_name=automountMapName
    ldap_autofs_entry_key=automountKey
    ldap_autofs_entry_value=automountInformation
    利用可能なオプションの完全な一覧については、sssd.conf(5) の man ページの DOMAIN SECTIONS を参照してください。
    追加の autofs オプションを提供しない場合は、設定はアイデンティティープロバイダーの設定に依存します。
  5. SSSD を再起動します。
    # systemctl restart sssd.service

設定のテスト

  • automount -m コマンドを使用して、SSSD からマップをプリントします。

7.5.4. サービスの設定: sudo

SSSD が sudo と機能する方法

sudo ユーティリティーでは、指定されたユーザーに管理アクセスが与えられます。sudo の詳細情報については、『システム管理者のガイド』 の The sudo コマンド を参照してください。
sudo を SSSD に向けるよう設定することができます。以下のようなセットアップで可能です。
  1. ユーザーが sudo オペレーションを試行すると、SSSD は LDAP または AD に接続し、現行の sudo 設定に関する必要な情報を取得します。
  2. SSSD は sudo 情報をキャッシュに保存するため、LDAP サーバーまたは AD サーバーがオフラインになっても、ユーザーは sudo 操作を実行できます。
SSSD は、sudoHost 属性の値によって、ローカルシステムに適用される sudo ルールのみをキャッシュします。詳細については、sssd-sudo(5) の man ページを参照してください。

sudo を設定して SSSD を使用

  1. /etc/nsswitch.conf ファイルを開きます。
  2. SSSD を sudoers ライン上の一覧に追加します。
    sudoers: files sss

sudo と機能するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションで、SSSD が管理するサービスの一覧に sudo を追加します。
    [sssd]
    services = nss,pam,sudo
  3. 新しい [sudo] セクションを作成します。空のままでかまいません。
    [sudo]
    利用可能なオプションの一覧については、sssd.conf(5) の man ページの SUDO configuration options を参照してください。
  4. SSSD がそのフォルダーから sudo 情報を読み取れるように、LDAP または AD ドメインが sssd.conf で利用可能であることを確認してください。詳細は、以下を参照してください。
    LDAP または AD ドメインの [domain] セクションには、これらの sudo 関連のパラメーターが必要です。
    [domain/LDAP_or_AD_domain]
    ...
    sudo_provider = ldap
    ldap_sudo_search_base = ou=sudoers,dc=example,dc=com

    注記

    Identity Management または AD を ID プロバイダーとして設定すると、sudo プロバイダーは自動的に有効となります。この場合は、sudo_provider = ipa を指定する必要はありません。
    利用可能なオプションの完全な一覧については、sssd.conf(5) の man ページの DOMAIN SECTIONS を参照してください。
    sudo プロバイダーの利用可能なオプションについては、sssd-ldap(5) の man ページを参照してください。
  5. SSSD を再起動します。
    # systemctl restart sssd.service
AD をプロバイダーとして使用する場合は、sudo ルールをサポートするために、AD スキーマを拡張する必要があります。詳細は sudo ドキュメントを参照してください。
LDAP または AD で sudo ルールを提供する方法は、man ページの sudoers.ldap(5) を参照してください。