Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

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

7.5.1. サービスの設定: NSS

NSS での SSSD の仕組み

Name Service Switch (NSS) サービスは、システム ID およびサービスを設定ソースとマッピングします。これは、サービスがさまざまな設定および名前解決メカニズムのソースを検索できる中央の設定ストアを提供します。
SSSD は、NSS を、いくつかのタイプの NSS マップのプロバイダーとして使用できます。以下に例を示します。
  • ユーザー情報( passwd マップ)
  • グループ( groups マップ)
  • netgroups ( netgroups マップ)
  • サービス( services マップ)

前提条件

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

SSSD を使用するように NSS サービスを設定する

  1. authconfig ユーティリティーを使用して SSSD を有効にします。
    [root@server ~]# authconfig --enablesssd --update
    これにより、/etc/nsswitch.conf ファイルが更新され、以下の NSS マップが SSSD を使用できるようになります。
    passwd:     files sss
    shadow:     files sss
    group:      files sss
    
    netgroup:   files sss
  2. /etc/nsswitch.conf を開き、services マップ行に sss を追加します。
    services: files 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 設定ファイルの間違いにより、ユーザーがシステムから完全にロックされる可能性があります。変更を実行する前に設定ファイルを常にバックアップし、セッションを開いたままにして、変更を元に戻すことができます。

SSSD を使用するように PAM を設定する

  • authconfig ユーティリティーを使用して SSSD を有効にします。
    # authconfig --enablesssdauth --update
    これにより、SSSD モジュール(通常は /etc/pam.d/system-auth ファイルおよび /etc/pam.d/password-auth ファイル)を参照する PAM 設定が更新されます。以下に例を示します。
    [... 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 ページを参照してください。

SSSD が PAM と連携するように設定する

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションで、PAM が 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 設定オプション を参照してください。
  4. SSSD を再起動します。
    # systemctl restart sssd.service

インテグレーションの動作が正しく行われることのテスト

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

7.5.3. サービスの設定: autofs

automountでの SSSD の仕組み

automount ユーティリティーは、NFS ファイルシステムを自動的にマウントおよびアンマウントできます(オンデマンドマウント)。これにより、システムリソースが保存されます。自動マウント の詳細は、ストレージ 『管理ガイドの autofs を参照』 してください。
automount が SSSD をポイントするように設定できます。この設定では、以下が行われます。
  1. ユーザーがディレクトリーのマウントを試みると、SSSD は LDAP に接続して、現在の 自動 マウント設定に関する必要な情報を取得します。
  2. SSSD は、自動 マウントで必要な情報をキャッシュに保存します。これにより、LDAP サーバーがオフラインであっても、ユーザーはディレクトリーをマウントできます。

SSSD を使用するように autofs を設定する

  1. autofs パッケージをインストールしている。
    # yum install autofs
  2. /etc/nsswitch.conf ファイルを開きます。
  3. 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 設定オプション を参照してください。
  4. SSSD が LDAP から 自動マウント 情報を読み取れるように、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

sudoでの SSSD の仕組み

sudo ユーティリティーは、指定したユーザーに管理アクセスを提供します。sudo の詳細 は、『システム管理者のガイドの sudo ユーティリティーのドキュメント』 を参照し てください。
sudo が SSSD を参照するように設定できます。この設定では、以下が行われます。
  1. ユーザーが sudo 操作を試みると、SSSD は LDAP または AD に問い合わせ、現在の sudo 設定に関する必要な情報を取得します。
  2. SSSD は sudo 情報をキャッシュに保存します。これにより、LDAP または AD サーバーがオフラインであっても sudo 操作を実行できます。
SSSD は、 sudo Host 属性の値に応じて、ローカルシステムに適用される sudo ルールのみをキャッシュします。詳細は sssd-sudo(5) の man ページを参照してください。

SSSD を使用するように sudo を設定する

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

sudoで動作するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. [sssd] セクションで、sudo を SSSD が管理するサービス一覧に追加します。
    [sssd]
    services = nss,pam,sudo
  3. [sudo] セクションを新たに作成します。空欄のままにすることができます。
    [sudo]
    利用可能なオプションの一覧は、sssd.conf(5) man ページの SUDO 設定オプション を参照してください。
  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
    注記
    ID プロバイダーとして Identity Management または AD を設定すると、sudo プロバイダーが自動的に有効になります。この場合、sudo_provider パラメーターを指定する必要はありません。
    利用可能なオプションの一覧は、sssd.conf(5) man ページの DOMAIN SECTIONS を参照してください。
    sudo プロバイダーに利用可能なオプションは、sssd-ldap(5) の man ページを参照してください。
  5. SSSD を再起動します。
    # systemctl restart sssd.service
AD をプロバイダーとして使用する場合は、AD スキーマを拡張して sudo ルールをサポートする必要があります。詳細は sudo ドキュメントを参照してください。
LDAP または AD で sudo ルールを提供する方法は、sudoers.ldap(5) の man ページを参照してください。