EN JA
PAM_KRB5(8)
PAM_KRB5(8) FreeBSD System Manager's Manual PAM_KRB5(8)

名称

pam_krb5Kerberos 5 PAM モジュール

書式

/usr/lib/pam_krb5.so

解説

PAM のための Kerberos 5 サービスモジュール (通常 /usr/lib/pam_krb5.so) は、3 つの PAM カテゴリのための機能を提供します: 認証、アカウント管理、とパスワード管理。また、それは、セッション管理のために null 関数を提供します。 pam_krb5.so モジュールは、要求に応じて必要な機能を提供するためにダイナミックにロードすることができる共有オブジェクトです。そのパスは、PAM 設定ファイルで指定されます。

Kerberos 5 認証モジュール

Kerberos 5 認証コンポーネントは、ユーザの識別 (ID) を検証する ( pam_sm_authenticate()) とユーザ特有の資格証明を設定する ( pam_sm_setcred()) 関数を提供します。 pam_sm_authenticate() は、デフォルトのローカルのレルム名を追加することによって供給されたユーザ名を Kerberos プリンシパル変換します。訳注) レルム (realm) は、アドレス体系。また、それは、明らかなレルム名でユーザ名をサポートします。レルム名が提供されるなら、成功して返るときに、プリンシパル名をローカルのユーザ名に ( krb5_aname_to_localname() を呼び出して) マップすることによって、ユーザ名を変更します。これは、通常、レルム名が取り除かれることを意味します。

それは、パスワードとプリンシパルのための新しい Kerberos を取得するためにユーザにプロンプトを出します。 TGT は、ローカルホストのサービスチケットを得ることによって検証されます。

現在のパスワードのためにプロンプトを出すとき、認証モジュールは、プロンプト“ Password for <principal>:”を使用します。

pam_sm_setcred() 関数は、資格証明キャッシュに新たに獲得された資格証明を格納して、環境変数 KRB5CCNAME を適切に設定します。資格証明キャッシュは、 kdestroy(1) でログアウトするときにユーザによって破壊されるべきです。

次のオプションが認証モジュールに渡されます:

debug
LOG_DEBUG レベルの syslog(3) デバッグ情報。
no_warn
ユーザへの警告メッセージを抑圧します。これらのメッセージには、ユーザの認証の試みが拒絶された理由を含んでいます。
use_first_pass
認証モジュールがスタックの最初ではなく、前のモジュールがユーザのパスワードを取得しているなら、そのパスワードは、ユーザを認証するために使用されます。これが失敗するなら、認証モジュールは、ユーザにパスワードのためのプロンプトを出さずに失敗を返します。認証モジュールがスタックの最初であるか、または前のモジュールがユーザのパスワードを取得していなかったなら、このオプションは、効果がありません。
try_first_pass
このオプションは、以前に取得されたパスワードが失敗するなら、ユーザに別のパスワードのためにプロンプトが出されることを除いて、 use_first_pass オプションと同様です。
forwardable
ユーザのための転送可能な Kerberos 資格証明を取得します。
no_ccache
資格証明キャッシュにおいて取得された資格証明を格納しません。認証モジュールが、ユーザがそれらを破壊することができない ftp や pop のようなサービスに使用されるなら、これは、役に立つオプションです。 [これは、それらのサービスのためにモジュールを使用することを推薦しません。]
ccache= name
資格証明キャッシュとして name を使用します。 name は、形式 type: residual でなければなりません。 name に使用することができる、特別なトークン‘ %u’は、ユーザの 10 進 UID を指定し、‘ %p’は、現在のプロセス ID を指定します。
no_user_check
ユーザがローカルシステムに存在するかどうか確認しません。このオプションは、キャッシュファイルのための安全なローカルの UID/GID がないので、 no_ccache オプションの意味も含みます。

Kerberos 5 アカウント管理モジュール

Kerberos 5 アカウント管理コンポーネントは、アカウント管理、 pam_sm_acct_mgmt() を実行するための関数を提供します。関数は、(ユーザの .k5login ファイルをチェックする) krb5_kuserok() を呼び出すことによって認証されたプリンシパルがローカルユーザのアカウントにログインすることができることを検証します。

Kerberos 5 パスワード管理モジュール

Kerberos 5 パスワード管理コンポーネントは、パスワードを変更すす関数 ( pam_sm_chauthtok()) を提供しています。 ( passwd(1) コマンド、または引数として与えられたユーザ名を実行するユーザとして) 提供されたユーザ名は、認証モジュールのような同じ技術を使用して、Kerberos プリンシパル名にマップされます。レルム名が認証の間に明らかに供給されましたが、パスワードの変更の間でないなら、パスワード管理モジュールによって行われたマッピングは、認証に使用されたのと同じプリンシパルをもたらさないことに注意してください。

UNIX のパスワードを変更するときと違って、パスワード管理モジュールは、 (当然ユーザがプリンシパルの古いパスワードを知っているなら) どんなユーザのどんなプリンシパルのパスワードも変更することができます。また UNIX と違って、ルートは、常にプリンシパルの古いパスワードのためのプロンプトが出されます。

パスワード管理モジュールは、Kerberos パスワードサーバに接続する方法を決定するために kpasswd(1) と同じ発見的手法を使用します。

次のオプションは、パスワード管理モジュールに渡されます:

debug
LOG_DEBUG レベルの syslog(3) デバッグ情報。
use_first_pass
パスワード管理モジュールがスタックの最初でなく、前のモジュールがユーザの古いパスワードを取得するなら、そのパスワードは、ユーザを認証するために使用されます。これが失敗するなら、パスワード管理モジュールは、ユーザにパスワードのためのプロンプトを出さずに失敗を返します。また、成功すれば、前のモジュールに入力された新しいパスワードは、新しい Kerberos パスワードとして使用されます。新しいパスワードが失敗するなら、パスワード管理モジュールは、ユーザに新しいパスワードのためのプロンプトを出さずに失敗を返します。
try_first_pass
このオプションは、以前に取得された古いか新しいパスワードが失敗するなら、ユーザにそれらのためにプロンプトが出されることを除いて、 use_first_pass オプションと同様です。

Kerberos 5 セッション管理モジュール

Kerberos 5 セッション管理コンポーネントは、開始するための ( pam_sm_open_session()) と終了するための ( pam_sm_close_session()) セッションの関数を提供します。セッション管理は、Kerberos 5 の下で定義されないので、これらの両方の関数は、単に成功を返します。それらは、PAM モジュールの名前付け規約のためだけに提供されています。

環境変数

KRB5CCNAME
資格証明キャッシュの位置。

関連ファイル

/tmp/krb5cc_ uid
デフォルトの資格証明キャッシュ ( uid は、ユーザの 10 進 UID です)。
$HOME/.k5login
アクセスが許されている Kerberos プリンシパル含んでいるファイル。

アプリケーションは、Kerberos 5 PAM モジュールを使用するとき、 pam_start() と pam_end() の呼び出しの間に 2 回以上 pam_authenticate() を呼び出すべきではありません。
May 3, 2010 FreeBSD