PHP マニュアル
前のページ |  | 次のページ

# LXXII. KADM5

# 導入

このパッケージは、Kerberos V (ケルベロス バージョン 5) 管理サーバへのアクセス機能を提供します。 これにより、Kerberos V のプリンシパルやポリシーの 作成・変更・削除が可能となります。

Kerberos についての詳細な情報は、http://web.mit.edu/kerberos/www/ で得られます。

Kerberos および KADM5 についてのドキュメントは、http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html にあります。

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

## 属性フラグ用の定数

関数 kadm5_create_principal()、 kadm5_modify_principal() および kadm5_modify_principal() では、ビットを立てることで 特別な属性を指定することができます。以下のような定数が定義されています。

表 1. KDC が使用する属性定数

定数
KRB5_KDB_DISALLOW_POSTDATED
KRB5_KDB_DISALLOW_FORWARDABLE
KRB5_KDB_DISALLOW_TGT_BASED
KRB5_KDB_DISALLOW_RENEWABLE
KRB5_KDB_DISALLOW_PROXIABLE
KRB5_KDB_DISALLOW_DUP_SKEY
KRB5_KDB_DISALLOW_ALL_TIX
KRB5_KDB_REQUIRES_PRE_AUTH
KRB5_KDB_REQUIRES_HW_AUTH
KRB5_KDB_REQUIRES_PWCHANGE
KRB5_KDB_DISALLOW_SVR
KRB5_KDB_PWCHANGE_SERVER
KRB5_KDB_SUPPORT_DESMD5
KRB5_KDB_NEW_PRINC

## オプション用の定数

関数 kadm5_create_principal()、 kadm5_modify_principal() および kadm5_get_principal() では、プリンシパルの オプションを連想配列形式で指定したり関数の返り値として 受け取ったりできます。連想配列のキーは、以下で定義されている 文字列定数となります。

表 2. プリンシパルを作成/変更/取得する際のオプション

定数 | 型 | 説明
--- | --- | ---
KADM5_PRINCIPAL | long | プリンシパルの有効期限を Kerberos タイムスタンプで指定します。
KADM5_PRINC_EXPIRE_TIME | long | プリンシパルの有効期限を Kerberos タイムスタンプで指定します。
KADM5_LAST_PW_CHANGE | long | プリンシパルのパスワードが最後に変更された時刻。
KADM5_PW_EXPIRATION | long | プリンシパルの現在のパスワードの有効期限を Kerberos タイムスタンプで指定します。
KADM5_MAX_LIFE | long | このプリンシパルに発行された Kerberos チケットの最大の生存時間。
KADM5_MAX_RLIFE | long | このプリンシパルに発行された Kerberos チケットの最大の 更新可能生存時間。
KADM5_MOD_NAME | string | 最後にこのプリンシパルを変更した Kerberos プリンシパルの名前。
KADM5_MOD_TIME | long | このプリンシパルの最終更新時刻を Kerberos タイムスタンプ形式で指定します。
KADM5_KVNO | long | プリンシパルの現在のキーのバージョン。
KADM5_POLICY | string | このプリンシパルを制御するポリシーの名前。
KADM5_CLEARPOLICY | long | 新しいプリンシパルの「デフォルトの」ポリシーには 標準手続きが関連付けられます。 KADM5_CLEARPOLICY は、この挙動を抑制します。
KADM5_LAST_SUCCESS | long | 最後に AS_REQ が成功したときの KDC 時刻。
KADM5_LAST_FAILED | long | 最後に AS_REQ が失敗したときの KDC 時刻。
KADM5_FAIL_AUTH_COUNT | long | AS_REQ が連続して失敗した数。
KADM5_RANDKEY | long | プリンシパルに対してランダムなパスワードを生成します。 パラメータ `password` は無視されます。
KADM5_ATTRIBUTES | long | KDC が使用する属性のビットフィールド。

# 例

この例では、KADM5 データベースに対して 接続・問い合わせ・結果 principal の表示・切断 を行います。

例 1. KADM5 拡張モジュールの概要

`<?php
$handle = kadm5_init_with_password("afs-1", "GONICUS.LOCAL", "admin/admin", "password");
print "<h1>get_principals</h1>\n";
$principals = kadm5_get_principals($handle);
for( $i=0; $i<count($principals); $i++)
print "$principals[$i]<br>\n";
print "<h1>get_policies</h1>\n";
$policies = kadm5_get_policies($handle);
for( $i=0; $i<count($policies); $i++)
print "$policies[$i]<br>\n";
print "<h1>get_principal burbach@GONICUS.LOCAL</h1>\n";
$options = kadm5_get_principal($handle, "burbach@GONICUS.LOCAL" );
$keys = array_keys($options);
for( $i=0; $i<count($keys); $i++) {
$value = $options[$keys[$i]];
print "$keys[$i]: $value<br>\n";
}
$options = array(KADM5_PRINC_EXPIRE_TIME => 0);
kadm5_modify_principal($handle, "burbach@GONICUS.LOCAL", $options);
kadm5_destroy($handle);
?>`

# 問合せ先

この拡張モジュールに対するコメントがあったり、バグフィックスや 機能拡張のパッチを作成された場合、あるいは開発に参加したいなどの 場合は holger.burbach@gonicus.de までメールをください。このプロジェクトのホームページは http://oss.gonicus.de/project/?group_id=7 です。

前のページ | ホーム | 次のページ
json_encode | 上に戻る | kadm5_chpass_principal