pam_ldap を実装すると、ユーザーは pam_ldap の serviceAuthenticationMethod パラメータに定義された認証方式を使用して LDAP サーバーにバインドします (このパラメータが存在する場合)。このパラメータが存在しない場合、authenticationMethod が使用されます。
pam_ldap が、ユーザーの識別情報および指定されたパスワードでサーバーにバインドできれば、ユーザーが認証されたことになります。
以前は、pam_ldap アカウント管理を有効にすると、システムにログインする際には、常にすべてのユーザーが認証用にログインパスワードを入力する必要がありました。そのため、rsh、rlogin、ssh などのツールによるパスワードを使用しないログインは失敗します。
一方、pam_ldap(5) を Sun Java System Directory Server DS5.2p4 以降のリリースで使用することで、ユーザーはパスワードを入力せずに、rsh、rlogin、rcp、および ssh を使ってログインできるようになりました。
pam_ldap(5) は変更され、ユーザーのログイン時に Directory Server への認証を実行せずに、アカウントの管理およびユーザーのアカウント状態の取得を実行できるようになりました。Directory Server 上でこの機能を制御するのは、1.3.6.1.4.1.42.2.27.9.5.8 です。これは、デフォルトで有効になっています。
この制御をデフォルト以外に変更する場合は、Directory Server 上でアクセス制御情報 (ACI) を追加します。
dn: oid=1.3.6.1.4.1.42.2.27.9.5.8,cn=features,cn=config objectClass: top objectClass: directoryServerFeature oid:1.3.6.1.4.1.42.2.27.9.5.8 cn:Password Policy Account Usable Request Control aci: (targetattr != "aci")(version 3.0; acl "Account Usable"; allow (read, search, compare, proxy) (groupdn = "ldap:///cn=Administrators,cn=config");) creatorsName: cn=server,cn=plugins,cn=config modifiersName: cn=server,cn=plugins,cn=config |
pam_ldap は、userPassword 属性を読み取りません。このため、pam_unix を使用するほかのクライアントが存在しない限り、userPassword 属性の読み取りアクセス権を付与する必要はありません。また、pam_ldap は、認証方式 none をサポートしません。このため、クライアントが pam_ldap を使用できるように、serviceAuthenticationMethod または authenticationMethod 属性を定義する必要があります。詳細については、pam_ldap(5) のマニュアルページを参照してください。
認証方式 simple を使用する場合、第三者がネットワーク上で userPassword 属性を読み取ることができます。
「pam_ldap に対応した pam.conf ファイルの例」を参照してください。
次の表に、pam_unix、pam_ldap、および pam_krb5 の主な相違点を示します。
表 9–5 pam_unix、pam_ldap、および pam_krb5 の使用における LDAP の認証動作
|
pam_unix |
pam_ldap |
pam_krb5 |
---|---|---|---|
パスワードの送信 |
passwd サービス認証方式を使用します |
passwd サービス認証方式を使用します |
パスワードではなく、Kerberos シングルサインオンテクノロジを使用します |
新規パスワードの送信 |
暗号化します |
暗号化しません (TLS を使用しない場合) |
Kerberos を使用します。パスワードはネットワークに送信されません |
新規パスワードの格納 |
crypt 形式 |
Sun Java System Directory Server で定義されたパスワード格納スキーマ |
パスワードは Kerberos を使って管理されます |
パスワードの読み取り |
はい |
いいえ |
いいえ |
パスワード変更後の sasl/digestMD5 の互換性 |
ありません。パスワードは平文では格納されません。ユーザーを認証できません。 |
あります。デフォルトのストレージスキーマが平文 (clear) に設定されていれば、ユーザーを認証できます。 |
ありません。sasl/GSSAPI が使用されます。Kerberos kdc を使用して LDAP ディレクトリサーバー内のパスワードデータベースを管理する場合を除き、パスワードがネットワーク上に送信されることも、ディレクトリサーバーに保存されることもありません。 |
パスワードポリシーのサポート |
あります。enableShadowUpdate を true に設定する必要があります。 |
はい (構成されている場合)。 |
pam_krb5(5)、Kerberos V5 アカウント管理モジュールを参照してください。 |