第1章 authselect でユーザー認証の設定

authselect は、特定のプロファイルを選択して、システム ID および認証ソースを設定できるようにするユーティリティーです。profile は、作成される PAM (Pluggable Authentication Modules) および Network Security Services (NSS) の設定を記述するファイルのセットです。デフォルトのプロファイル設定を選択するか、カスタムプロファイルを作成できます。

1.1. authselect の使用方法

authselect ユーティリティーを使用して、Red Hat Enterprise Linux 9 ホストでユーザー認証を設定できます。

既製のプロファイルのいずれかを選択して、ID 情報および認証ソースおよびプロバイダーを設定できます。

  • デフォルトの sssd プロファイルでは、LDAP 認証を使用するシステムの System Security Services Daemon (SSSD) が有効になります。
  • winbind プロファイルは、Microsoft Active Directory と直接統合したシステムの Winbind ユーティリティーを有効にします。
  • minimal プロファイルは、システムファイルから直接ローカルユーザーおよびグループのみを提供します。これにより、管理者は不要になったネットワーク認証サービスを削除できます。

authselect プロファイルを特定のホストに対して選択すると、そのプロファイルは、そのホストにログインしているすべてのユーザーに適用されます。

Red Hat は、半集中型の ID 管理環境での authselect の使用を推奨しています。たとえば、組織がドメイン内でサービスを使用するために、LDAP または Winbind データベースを使用してユーザーを認証している場合などに推奨しています。

警告

次の場合は、authselect を使用する必要はありません。

  • ホストは Red Hat Enterprise Linux Identity Management (IdM) の一部です。ホストを IdM ドメインに参加させると、ipa-client-install コマンドは、ホストで SSSD 認証を自動的に設定します。
  • ホストは SSSD 経由で Active Directory の一部です。realm join コマンドを呼び出して、ホストを Active Directory ドメインに参加させると、ホストで SSSD 認証が自動的に設定されます。

Red Hat は、ipa-client-install または realmjoin によって設定された authselect プロファイルを変更しないことを推奨します。それらを変更する必要がある場合は、変更を加える前に現在の設定を表示して、必要に応じて元に戻すことができるようにします。

$ authselect current
Profile ID: sssd
Enabled features:
- with-sudo
- with-mkhomedir
- with-smartcard

1.1.1. ファイルおよびディレクトリーの authselect の変更

authconfig ユーティリティーは、以前の Red Hat Enterprise Linux バージョンで、さまざまな設定ファイルの作成および変更するために使用されていたため、トラブルシューティングが困難になりました。authselect は、次のファイルおよびディレクトリーのみを変更するため、テストとトラブルシューティングが容易になります。

/etc/nsswitch.conf

GNC C ライブラリーおよびその他アプリケーションはこの NSS (Name Service Switch) を使用して、さまざまなカテゴリーの名前サービス情報を、どのソースから、どの順番で取得するかを決定します。情報の各カテゴリーは、データベース名で識別されます。

/etc/pam.d/* ファイル

Linux-PAM (Pluggable Authentication Modules) は、システムのアプリケーション (サービス) の認証タスクを処理するモジュールのシステムです。認証の性質は動的に設定できます。システム管理者は、個々のサービス提供アプリケーションがユーザーを認証する方法を選択できます。

/etc/pam.d/ ディレクトリー内の設定ファイルには、サービスに必要な認証タスクを実行する PAM のリストと、個々の PAM が失敗した場合の PAM-API の適切な動作がリスト表示されます。

たとえば、これらのファイルには以下の情報が含まれています。

  • ユーザーパスワードのロックアウトの条件
  • スマートカードによる認証機能
  • フィンガープリントリーダーによる認証機能

/etc/dconf/db/distro.d/* ファイル

このディレクトリーは、dconf ユーティリティーの設定プロファイルを保持し、GNOME デスクトップグラフィカルユーザーインターフェイス (GUI) の設定を管理できます。

1.1.2. /etc/nsswitch.conf のデータプロバイダー

デフォルトの sssd プロファイルは、/etc/nsswitch.confsss エントリーを作成することで、SSSD を情報ソースとして確立します。

passwd:     sss files
group:      sss files
netgroup:   sss files
automount:  sss files
services:   sss files
...

これは、これらの項目のいずれかに関する情報が要求されると、システムが最初に SSSD を調べることを意味します。

  • ユーザー情報の passwd
  • ユーザー グループ 情報のグループ
  • NIS netgroup 情報の netgroup
  • NFS 自動マウント情報の automount
  • サービスに関する情報に関する services

sssd キャッシュ、および認証を提供するサーバーで、要求された情報が見つからない、または sssd を実行していないと、システムはローカルファイル (/etc/*) を調べます。

たとえば、ユーザー ID に関する情報が要求されると、そのユーザー ID は、最初に sssd キャッシュで検索されます。そこで見つからない場合は、/etc/passwd ファイルが参照されます。同様に、ユーザーのグループ所属が要求されると、最初に sssd キャッシュで検索され、そこに見つからない場合に限り、/etc/group ファイルが参照されます。

実際には、ローカルの files データベースは参照されません。最も重要な例外は、root ユーザーの場合です。これは、sssd で処理されることはありませんが、files で処理されます。