13.2.28. SSSD キャッシュの管理
SSSD は、同じタイプのドメインと異なるタイプのドメインを定義できます。SSSD はドメインごとに個別のデータベースファイルを維持します。つまり、各ドメインには独自のキャッシュがあります。このキャッシュファイルは
/var/lib/sss/db/
ディレクトリーに保存されます。
SSSD キャッシュのパージ
ドメインのアイデンティティープロバイダーに LDAP 更新が行われるため、キャッシュをクリアして新しい情報を迅速に再読み込みする必要がある場合があります。
キャッシュの purge ユーティリティー sss_cache は、ユーザー、ドメイン、またはグループの SSSD キャッシュにレコードを無効にします。現在のレコードを無効にすると、キャッシュがアイデンティティープロバイダーから更新されたレコードを取得するよう強制するため、変更はすぐに実行できます。
注記
このユーティリティーは、sssd パッケージの SSSD に含まれています。
最も一般的なものは、キャッシュをクリアし、すべてのレコードを更新するために使用されます。
~]# sss_cache -E
sss_cache コマンドは、特定のドメインのキャッシュされたエントリーをすべて削除することもできます。
~]# sss_cache -Ed LDAP1
管理者が特定のレコード(ユーザー、グループ、または netgroup)が更新されていることが分かっている場合は、sss_cache はその特定のアカウントのレコードをパージし、残りのキャッシュをそのまま残すことができます。
~]# sss_cache -u jsmith
短い引数 | 長い引数 | 説明 |
---|---|---|
-E | --everything | sudo ルールを除くキャッシュされたエントリーをすべて無効にします。 |
-d name | --domain name | 指定のドメイン内でのみ、ユーザー、グループ、およびその他のエントリーのキャッシュエントリーを無効にします。 |
-G | --groups | すべてのグループレコードを無効にします。-g も使用する場合は、-G が優先されます。-g は無視されます。 |
-g name | --group name | 指定のグループのキャッシュエントリーを無効にします。 |
-N | --netgroups | すべての netgroup キャッシュレコードのキャッシュエントリーを無効にします。-n も使用する場合は、-N が優先されます。-n は無視されます。 |
-n name | --netgroup name | 指定した netgroup のキャッシュエントリーを無効にします。 |
-U | --users | すべてのユーザーレコードのキャッシュエントリーを無効にします。-u オプションも使用する場合は、-U が優先されます。-u は無視されます。 |
-u name | --user name | 指定のユーザーのキャッシュエントリーを無効にします。 |
ドメインキャッシュファイルの削除
すべてのキャッシュファイルの名前がドメインに対して付けられます。たとえば、exampleldap という名前のドメインの場合、キャッシュファイルの名前は
cache_exampleldap.ldb
です。
キャッシュファイルを削除する場合は注意してください。この操作には大きな影響があります。
- キャッシュファイルを削除すると、識別とキャッシュされた認証情報の両方など、すべてのユーザーデータが削除されます。したがって、システムがオンラインになっていず、ドメインのサーバーに対してユーザー名で認証できる場合を除き、キャッシュファイルを削除しないでください。認証情報キャッシュがないと、オフライン認証は失敗します。
- 別のアイデンティティープロバイダーを参照するように設定を変更すると、元のプロバイダーからキャッシュされたエントリーがタイムアウトするまで、SSSD は両方のプロバイダーのユーザーを認識します。キャッシュをパージするとこれを回避することができますが、新しいプロバイダーに別のドメイン名を使用することが推奨されます。SSSD を再起動すると、新しい名前で新しいキャッシュファイルが作成され、古いファイルは無視されます。