Red Hat Linux 6.2J: Official Red Hat Linuxリファレンスガイド | ||
---|---|---|
前のページ | Chapter 8. ライトウェイトディレクトリアクセスプロトコル (LDAP) | 次のページ |
本セクションでは、Red Hat Linux システムを OpenLDAP を使って認証するように設定する方法について簡単に概要を説明します。OpenLDAP のエキスパートである場合は別ですが、本書の説明以外にも詳しいマニュアルが必要になるでしょう。詳細については、「 Web 上にある LDAP のリソース 」 のリファレンスを参照してください。
最初に、LDAP サーバと LDAP クライアントの両方のマシンに該当するパッケージがインストールされていることを確認する必要があります。LDAP サーバには openldap パッケージが必要です。
LDAP クライアントマシンでは、以下のパッケージをインストールする必要があります。openldap、auth_ldap、 nss_ldap 、および pam_ldap 。
/etc/openldap に位置する slapd.conf ファイルには、slapd LDAP サーバが必要とする設定情報が含まれます。このファイルは、ユーザのドメインとサーバに固有のものとするために編集する必要があります。
サフィックス行は LDAP サーバが情報を提供するドメインを指定します。サフィックス行は以下のものから変更する必要があります。
suffix "dc=your-domain, dc=com" |
これはユーザのドメイン名を反映するようにしなければなりません。たとえば、
suffix "dc=acmewidgets, dc=com" |
または
suffix "dc=acmeuniversity, dc=org" |
rootdn エントリはアクセス制御や LDAP ディレクトリに対する操作に設定された管理パラメータによる制限を受けないユーザのための DN です。rootdn ユーザは LDAP ディレクトリに対するルートユーザと考えることができます。rootdn 行は以下のものから変更する必要があります。
rootdn "cn=root, dc=your-domain, dc=com" |
変更例:
rootdn "cn=root, dc=redhat, dc=com" |
または
rootdn "cn=ldapmanager, dc=my_organization, dc=org" |
rootpw 行は次のものから変更します。
rootpw secret |
変更例:
rootpw {crypt}s4L9sOIJo4kBM |
上の例では、暗号化された root のパスワードを使用していますが、これは slapd.conf ファイルにプレーンテキストによる root のパスワードを残す方法よりもはるかに優れた考え方です。この暗号文字列を作成するには、 passwd ファイルからコピーするか、Perl を使用するかのいずれかが必要です。
perl -e "print crypt('passwd','a_salt_string');" |
前の Perl 行では、salt_string は 2 文字の salt で、 passwd はパスワードのプレーンテキストバージョンです。
/etc/passwd から passwd エントリをコピーすることもできますが、 passwd エントリが MD5 パスワードである場合は (Red Hat Linux 6.2J でのデフォルト) 、この方法では正しく動作しません。
LDAP サーバとクライアントで、/etc および /etc/openldap のldap.conf ファイルを編集します。
nss_ldap および pam_ldap の設定ファイルである /etc/ldap.conf を編集し、ユーザの組織と検索ベースを反映させます。ファイル /etc/openldap/ldap.conf はldapsearch、ldapadd などのようなコマンドラインツールのための設定ファイルで、これも LDAP 設定に合わせて編集する必要があります。クライアントマシンでは、これらのファイルを両方ともシステムに合わせて修正する必要があります。
nss_ldap を使用するためには、 ldap を /etc/nsswitch.conf.の該当するフィールドに追加する必要があります (このファイルを編集する場合は慎重に行ってください。今行っている作業をよく理解した上で実行してください)。例、
passwd:files ldap shadow:files ldap group:files ldap |
pam_ldap を使用する場合は、PAM 設定ファイルを /usr/doc/nss_ldap<version>/pam.d/ からユーザの /etc/pam.d/ ディレクトリにコピーする必要があります。これらは PAM 設定ファイルのセットであり、これにより標準 PAM 対応アプリケーションがすべて LDAP を認証に使用できるようになります。(PAM はこの LDAP に関する概要の守備範囲を超えるものであるため、ヘルプが必要な場合は、「 PAM によるユーザ認証 - Chapter 2 」 や 「PAM のマニュアル 」を参照してください)。
/usr/share/openldap/migration ディレクトリには、 古い認証情報を LDAP フォーマットに移行するためのシェルと Perl のスクリプトセットが含まれています。(前記のように、これらのスクリプトを使用するには、Perl をシステムに導入しなければなりません)。
最初に migrate_common.ph ファイルを修正し、ドメインを反映させる必要があります。デフォルトの DNS ドメインは以下のものから変更する必要があります。
$DEFAULT_MAIL_DOMAIN = "padl.com"; |
変更例:
$DEFAULT_MAIL_DOMAIN = "your_company.com"; |
デフォルトのベースも以下のものから変更する必要があります。
$DEFAULT_BASE = "dc=padl,dc=com"; |
変更例:
$DEFAULT_BASE = "dc=your_company,dc=com"; |
次に、使用するスクリプトを決める必要があります。下表を参照してください。
表 8-1. LDAP 移行スクリプト
既存ネームサービス | LDAP は動作しているか ? | このスクリプトを使用: |
---|---|---|
/etc フラットファイル | はい | migrate_all_online.sh |
/etc フラットファイル | いいえ | migrate_all_offline.sh |
ネット情報 | はい | migrate_all_netinfo_online.sh |
ネット情報 | いいえ | migrate_all_netinfo_offline.sh |
NIS (YP) | はい | migrate_all_nis_online.sh |
NIS (YP) | いいえ | migrate_all_nis_offline.sh |
既存のネームサービスをもとに該当するスクリプトを実行します。
/usr/share/openldap/migration のファイル README および migration-tools.txt に詳細が記載されています