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 サービスを設定する
authconfig
ユーティリティーを使用して SSSD を有効にします。[root@server ~]# authconfig --enablesssd --update
これにより、/etc/nsswitch.conf
ファイルが更新され、以下の NSS マップが SSSD を使用できるようになります。passwd: files sss shadow: files sss group: files sss netgroup: files sss
/etc/nsswitch.conf
を開き、services
マップ行にsss
を追加します。services: files
sss
NSS で動作するように SSSD を設定する
/etc/sssd/sssd.conf
ファイルを開きます。[sssd]
セクションで、NSS が SSSD と連携するサービスの 1 つとしてリストされていることを確認します。[sssd] [... file truncated ...] services =
nss
, pam[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
を参照してください。- 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 と連携するように設定する
/etc/sssd/sssd.conf
ファイルを開きます。[sssd]
セクションで、PAM が SSSD と連携するサービスの 1 つとしてリストされていることを確認します。[sssd] [... file truncated ...] services = nss,
pam
[pam]
セクションで、SSSD が PAM と対話する方法を設定します。以下に例を示します。[pam] offline_credentials_expiration = 2 offline_failed_login_attempts = 3 offline_failed_login_delay = 5
利用可能なオプションの一覧は、sssd.conf(5) man ページのPAM 設定オプション
を参照してください。- 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 をポイントするように設定できます。この設定では、以下が行われます。
- ユーザーがディレクトリーのマウントを試みると、SSSD は LDAP に接続して、現在の
自動
マウント設定に関する必要な情報を取得します。 - SSSD は、
自動
マウントで必要な情報をキャッシュに保存します。これにより、LDAP サーバーがオフラインであっても、ユーザーはディレクトリーをマウントできます。
SSSD を使用するように autofs
を設定する
- autofs パッケージをインストールしている。
# yum install autofs
/etc/nsswitch.conf
ファイルを開きます。automount
ldap
からsss
に変更します。automount: files
sss
autofs
と連携するように SSSD を設定
/etc/sssd/sssd.conf
ファイルを開きます。[sssd]
セクションで、SSSD が管理するサービス一覧にautofs
を追加します。[sssd] services = nss,pam,
autofs
[autofs]
セクションを新規作成します。空欄のままにすることができます。[autofs]
利用可能なオプションの一覧は、sssd.conf(5) man ページのAUTOFS 設定オプション
を参照してください。- 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
オプションを追加で指定しない場合、設定はアイデンティティープロバイダーの設定によって異なります。 - SSSD を再起動します。
# systemctl restart sssd.service
設定のテスト
- automount -m コマンドを使用して、SSSD からマップを出力します。
7.5.4. サービスの設定: sudo
sudo
での SSSD の仕組み
sudo
が SSSD を参照するように設定できます。この設定では、以下が行われます。
- ユーザーが
sudo
操作を試みると、SSSD は LDAP または AD に問い合わせ、現在のsudo
設定に関する必要な情報を取得します。 - SSSD は
sudo
情報をキャッシュに保存します。これにより、LDAP または AD サーバーがオフラインであってもsudo
操作を実行できます。
SSSD は、
sudo
Host
属性の値に応じて、ローカルシステムに適用される sudo ルールのみをキャッシュします。詳細は sssd-sudo(5) の man ページを参照してください。
SSSD を使用するように sudo
を設定する
/etc/nsswitch.conf
ファイルを開きます。- SSSD を
sudoers
行の一覧に追加します。sudoers: files
sss
sudo
で動作するように SSSD を設定
/etc/sssd/sssd.conf
ファイルを開きます。[sssd]
セクションで、sudo
を SSSD が管理するサービス一覧に追加します。[sssd] services = nss,pam,
sudo
[sudo]
セクションを新たに作成します。空欄のままにすることができます。[sudo]
利用可能なオプションの一覧は、sssd.conf(5) man ページのSUDO 設定オプション
を参照してください。- SSSD がディレクトリーから
sudo
情報を読み取れるように、LDAP または AD ドメインがsssd.conf
で利用可能であることを確認してください。詳細は、次を参照してください。- 『Windows 統合ガイド』のSSSD の ID プロバイダーとして Active Directory の使用
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 ページを参照してください。 - SSSD を再起動します。
# systemctl restart sssd.service
AD をプロバイダーとして使用する場合は、AD スキーマを拡張して
sudo
ルールをサポートする必要があります。詳細は sudo
ドキュメントを参照してください。
LDAP または AD で
sudo
ルールを提供する方法は、sudoers.ldap(5) の man ページを参照してください。