
プラグイン認証モジュール( PAM ) は、複数の低レベル認証方式を高レベルのアプリケーション プログラミング インターフェイス(API) に統合するメカニズムです。PAM を使用すると、認証に依存するプログラムを基盤となる認証方式とは独立して記述できます。これは、 1995 年 10 月付けのOpen Software Foundation Request for Comments (RFC) 86.0でSun Microsystemsによって初めて提案されました。 [ 1 ]これはCommon Desktop Environmentの認証フレームワークとして採用されました。スタンドアロンのオープンソース インフラストラクチャとして、PAM は1996 年 8 月にRed Hat Linux 3.0.4 のLinux PAMプロジェクトで初めて登場しました。PAM は現在、 AIX オペレーティングシステム、DragonFly BSD、[ 2 ] FreeBSD、HP-UX、Linux、macOS、NetBSD、Solarisでサポートされています。
PAMの動作に関する中央標準が存在しないため、後にX/Open UNIX標準化プロセスの一環としてPAMの標準化が試みられ、その結果、X/Open Single Sign-on(XSSO)標準が策定されました。この標準は正式に承認されませんでしたが、標準草案は後のPAM実装(例えばOpenPAM)の参照点として活用されています。
ほとんどのPAM実装はリモートクライアントと直接インターフェースしないため、PAM単体ではUnix環境で最も一般的に使用されているSSOであるKerberosを実装できません。このため、SSOは将来のXSSO標準の「主要認証」部分として組み込まれ、SPNEGOやSASLといった技術が登場しました。この機能の欠如は、 SSHが独自の認証メカニズムのネゴシエーションを行う理由でもあります。
ほとんどの PAM 実装では、pam_krb5 はチケット発行チケットのみを取得します。これは、ユーザーに認証情報の入力を求める必要があり、SSO 環境での初回ログインにのみ使用されます。特定のアプリケーションのサービス チケットを取得し、ユーザーに再度認証情報の入力を求めないようにするには、そのアプリケーションが Kerberos をサポートするように特別にコーディングされている必要があります。これは、pam_krb5 自体がサービス チケットを取得できないためですが、この問題を回避しようとする PAM-KRB5 のバージョンも存在します。[ 3 ]
仕様:
ガイド: