YaSTを使ったLDAPクライアントの設定

YaSTには、LDAPベースのユーザ管理をセットアップするためのモジュールが組み込まれています。インストール時にこの機能を有効にしなかった場合は、[ネットワークサービス]+[LDAPクライアント]の順に選択してモジュールを起動します。LDAPに必要なPAMおよびNSS関連の変更が自動的に有効になり、必要なファイルがインストールされます。

標準的な処理手順

クライアントマシンのバックグラウンドで動作しているプロセスについての背景となる知識があれば、YaST LDAPクライアントモジュールの働きを理解するうえで助けになります。ネットワーク認証でLDAPが有効になっている場合、またはYaSTモジュールが呼び出された場合、pam_ldapおよびnss_ldapパッケージがインストールされ、該当する2つの環境設定ファイルが設定されます。pam_ldapは、ログインプロセスと認証データのソースとなるLDAPディレクトリ間のネゴシエーションを担当します。専用モジュールのpam_ldap.soがインストールされ、PAM設定が調整されます(例 36.11. 「LDAPに合わせて調整されたpam_unix2.conf」を参照)。

例 36.11. LDAPに合わせて調整されたpam_unix2.conf

auth:       use_ldap 
account:    use_ldap
password:   use_ldap 
session:    none

LDAPを使用するようにサービスを手動で追加設定する場合は、/etc/pam.d内のサービスに対応するPAM設定ファイルにPAM LDAPモジュールを組み込みます。/usr/share/doc/packages/pam_ldap/pam.d/には、個々のサービスに合わせて調整済みの設定ファイルが用意されています。適切なファイルを/etc/pam.dにコピーしてください。

nsswitchメカニズムを介したglibcの名前解決は、LDAPと共にnss_ldapを使用するように調整されています。新しく調整されたファイルnsswitch.confが、このパッケージのインストールと共に/etcに作成されます。nsswitch.confの詳細は、を参照してください。30.7.1項 「環境設定ファイル」LDAPを使用してユーザ管理および認証を行うために、nsswitch.confに次の行が存在する必要があります。参照先 例 36.12. 「nsswitch.confの調整」

例 36.12. nsswitch.confの調整

passwd: compat
group: compat

passwd_compat: ldap
group_compat: ldap

この行は、glibcのリゾルバライブラリに対して、最初に/etc内で対応するファイルを評価し、次に認証およびユーザデータのソースとしてLDAPサーバにアクセスするように指示しています。このメカニズムをテストするために、たとえばgetent passwdコマンドを使用してユーザデータベースの内容を読み込みます。返されたセットには、システムのローカルユーザに関する情報と、LDAPサーバに格納されている全ユーザに関する情報が含まれているはずです。

LDAPで管理されている一般ユーザが、sshまたはloginを使ってサーバにログインするのを禁止するには、/etc/passwdおよび/etc/groupファイルを編集します。それぞれのファイルに行を追加する必要があります。この行は、/etc/passwdの場合は+::::::/sbin/nologin/etc/groupの場合は+:::です。

LDAPクライアントの設定

最初にnss_ldapを調整すれば、pam_ldap/etc/passwd/etc/groupの設定はYaSTによって行われるので、単にクライアントをサーバに接続すれば、YaSTにLDAPによるユーザ管理を行わせることができます。この基本的なセットアップは36.6.2.1項 「基本的な設定」で説明されています。

YaSTのグループおよびユーザ設定モジュールをさらに設定するには、YaST LDAPクライアントを使います。これには、新規ユーザおよびグループのデフォルト設定、そしてユーザまたはグループに割り当てられる属性の数と性質を操作することが含まれます。LDAPのユーザ管理を使えば、従来のユーザまたはグループ管理ソリューションより、ユーザやグループにずっと多くの異なった属性を割り当てることができます。これは36.6.2.2項 「YaSTのグループおよびユーザ管理のモジュールを設定する」で説明されています。

基本的な設定

インストール時にLDAPユーザ管理を選択するか、インストール後のシステムのYaSTコントロールセンタで[ネットワークサービス]+[LDAPクライアント]の順に選択すると、基本的なLDAPクライアント設定ダイアログ(図 36.3. 「YaST:LDAPクライアントの設定」)が表示されます。

図 36.3. YaST:LDAPクライアントの設定

YaST:LDAPクライアントの設定

マシンのユーザをOpenLDAPサーバに対して認証し、OpenLDAPによるユーザ管理を有効にするには、以下の手順に従います。

  1. Use LDAP]をクリックして、LDAPの使用を有効にします。認証のためにLDAPを使うものの、他のユーザがこのクライアントにログインしないようにする場合には、[Use LDAP but Disable Logins]を選択します。

  2. 使用するLDAPサーバのIPアドレスを入力します。

  3. LDAP base DN]に入力して、LDAPサーバ上の検索ベースを選択します。ベースDNを自動的に取得する場合は、[Fetch DN]をクリックします。その後、YaSTは、上記で指定したサーバアドレス上でLDAPデータベースをチェックします。YaSTによって出力された検索結果から適切なベースDNを選択します。

  4. サーバとの間でTLSまたはSSLによって保護された通信が必要な場合には[LDAP TLS/SSL]を選択します。

  5. LDAPサーバがまたLDAPv2を使用している場合には、[LDAP Version 2]を選択して、このプロトコルのバージョンの使用を明示的に有効にします。

  6. リモートに管理された/homeなど、クライアントにリモートディレクトリをマウントする場合には、[Start Automounter]をオンにします。

  7. 最初にユーザがログインした時に、ユーザのホームを自動的に作成する場合は、[ログイン時にホームディレクトリを作成します]を選択します。

  8. Finish]をクリックして、設定を適用します。

図 36.4. YaST:詳細設定

YaST:詳細設定

サーバ上のデータを管理者として修正するには、[詳細な設定]をクリックします。次のダイアログは2つのタブに分かれています。詳細については、図 36.4. 「YaST:詳細設定」を参照してください。

  1. Client Settings]タブで、必要に合わせて以下の設定を調整します。

    1. ユーザ、パスワード、グループの検索ベースが[LDAP base DN]で指定したグローバルな検索ベースとは異なる場合には、[User Map]、[Password Map]、および[Group Map]でそれらの異なる名前付けコンテキストを入力します。

    2. パスワード変更プロトコルを指定します。パスワードが変更されたときに使用する標準的な方法はcryptで、cryptによって生成されたパスワードハッシュが使用されることを意味しています。この点や他のオプションの詳細については、pam_ldap manページを参照してください。

    3. Group Member Attribute]で、使用するLDAPグループを指定します。このデフォルトの値はmemberです。

  2. Administration Settings]で、以下の設定を調整します。

    1. Configuration Base DN]で、ユーザ管理データを保管するベースを設定します。

    2. Administrator DN]に適切な値を入力します。この特定のユーザがLDAPサーバに保管されたデータを操作できるようにするためには、このDNは、/etc/openldap/slapd.confで指定されたrootdn値と同一である必要があります。フルDN 。(cn=Administrator,dc=example,dc=comなど)を入力するか、または[Append Base DN]を有効化して、cn=Administratorを入力するときに自動的にベースDNが追加されるようにします。

    3. サーバ上に基本設定オブジェクトを作成して、LDAPによるユーザ管理を有効にするには、[Create Default Configuration Objects]をオンにします。

    4. お使いのクライアントマシンを、ネットワーク上のホームディレクトリ用のファイルサーバとして動作させる場合には、[Home Directories on This Machine]をオンにします。

    5. 使用するパスワードポリシー設定を選択、追加、削除、または変更するには、[パスワードポリシー]セクションを使用します。YaSTを使ったパスワードポリシーの設定は、LDAPサーバ設定の一部です。

    6. Accept]をクリックして[Advanced Configuration]を終え、[Finish]をクリックして設定を適用します。

ユーザ管理の設定]をクリックし、LDAPサーバ上のエントリを編集します。これにより、サーバに格納されているACLとACIに従って、サーバ上の設定モジュールへのアクセス権が付与されます。36.6.2.2項 「YaSTのグループおよびユーザ管理のモジュールを設定する」で概略が説明されている手順に従います。

YaSTのグループおよびユーザ管理のモジュールを設定する

YaSTのLDAPクライアントを使用して、YaSTモジュールをユーザとグループの管理用に調整し、それを必要に応じて拡張します。データの登録を単純化するために、個々の属性のデフォルトの値のテンプレートを定義します。ここで作成した事前設定は、LDAPディレクトリにLDAPオブジェクトとして格納されます。ユーザデータの登録には、通常のYaSTのユーザおよびグループ管理用モジュールが使用されます。登録されたデータはサーバ上にLDAPオブジェクトとして保管されます。

図 36.5. YaST:モジュール設定

YaST:モジュール設定

モジュール設定ダイアログ(図 36.5. 「YaST:モジュール設定」)を使用すると、新規モジュールの作成、既存の設定モジュールの選択と変更、およびそれらのモジュールのテンプレートの設計と変更ができます。

新しい設定モジュールを作成するには、以下の手順に従います。

  1. New]をクリックして、作成するモジュールのタイプを選択します。ユーザ設定モジュールの場合にはsuseuserconfigurationを選択し、グループ設定の場合はsusegroupconfigurationを選択します。

  2. 新しいテンプレートの名前を選択します。これにより、コンテンツビューに、このモジュールで許可されている全属性と、それぞれに割り当てられている値がテーブル形式のリストとして表示されます。このリストには、設定されているすべての属性に加えて、現行スキーマで許可されているが現在は使用されていない他の属性もすべて含まれています。

  3. プリセットされている値を受け入れるか、それぞれの属性を選択して[Edit]を押し、新しい値を入力して、グループおよびユーザ構成で使用するデフォルトを調整します。モジュールの名前を変更するには、モジュールのcn属性を変更します。現在選択しているモジュールを削除するには[削除]をクリックします。

  4. [了解]をクリックすると、選択メニューに新しいモジュールが追加されます。

YaSTのグループおよびユーザ管理用モジュールには、重要な標準値が設定されたテンプレートが埋め込まれています。設定モジュールに関連したテンプレートを編集するには、以下の手順に従います。

  1. Module Configuration]ダイアログで、[Configure Template]をクリックします。

  2. 必要に応じて、このテンプレートに割り当てられている一般的な属性の値を決めます。空にしておくこともできます。空の属性は、LDAPサーバ上で削除されます。

  3. 新しいオブジェクト(LDAPツリー内のユーザまたはグループ設定オブジェクト)のデフォルトの値を修正、削除、または追加します

図 36.6. YaST: オブジェクトテンプレートの設定

YaST: オブジェクトテンプレートの設定

モジュールのsusedefaulttemplate属性値を調整済みテンプレートのDNに設定し、テンプレートを対応するモジュールに接続します。

[Tip]

絶対値の代わりに変数を使用すると、属性のデフォルト値を他の属性から作成できます。たとえば、新規ユーザの作成時には、sngivenNameの属性値からcn=%sn %givenNameが自動的に作成されます。

すべてのモジュールとテンプレートを適切に設定し、実行する準備が完了したら、新しいグループとユーザを通常の方法でYaSTに登録できます。