PAM (Pluggable Authentication Module, 接続可能な認証モジュール) を使用すれば、アプリケーションを Solaris オペレーティング環境で使用される認証方式から独立させておくことができます。PAM 層を使用すれば、アプリケーションは、システム管理者がそのクライアントにどの認証方式を定義しているかに関係なく、認証を実行できます。LDAP ネームサービスを使用するには、pam_unix(5) または pam_ldap(5) のどちらかの PAM モジュールを pam.conf に指定します。
pam_unix を使用すると、従来の UNIX 認証モデルが使用されます。このモデルでは、ユーザーの暗号化されたパスワードをローカルマシンでディレクトリから取得し、ユーザーにパスワードの入力を求めます。そして入力されたパスワードを暗号化し、それをディレクトリから取得した暗号化されたパスワードと比較することによって、ユーザーの認証を行います。LDAP を使用しているクライアントがこのモジュールを使用するように構成されている場合は、そのクライアントが使用している ID (anonymous または構成されたプロキシエージェント) で userPassword 属性を読み取ることができなければなりません。また、この認証モデルには次の 2 つの制限があります。
パスワードを userPassword 属性に格納する必要がある。
パスワードを UNIX crypt 形式で格納する必要がある (平文、他の暗号方式によって暗号化されたパスワードは使えない)。
LDAP ディレクトリを使用する場合、pam_unix による従来の認証方式は必ずしも最善の方法ではないため、Solaris 8 では、ディレクトリに対して直接ユーザーの認証を実行する新しい PAM モジュールが追加されました。このモジュールを使用すると、Solaris クライアントは、ディレクトリサーバーがサポートしている新しい高度な認証方式を使用できます。当然、pam_ldap を使用しているクライアントは、パスワード属性に対する読み取り権を必要としません。また、パスワードを特定の形式でディレクトリに格納する必要もありません。
さらに、pam_ldap はディレクトリサーバーに対して直接ユーザーの認証を実行するため、ユーザーレベルのアクセス制御を適切に設定しておけば、ACI (アクセス制御情報) を使用して各ユーザーの認証を制御できます。
pam_unix を使用するときと同様に、パスワードを変更するには passwd コマンドを使用します。