Ce paquet vous permet d'accéder à l'administration des serveurs Kerberos V. Vous pourrez créer, modifier et effacer les directives et les éléments principaux Kerberos V.
Plus d'informations à propos de Kerberos peuvent être trouvées sur » http://web.mit.edu/kerberos/www/.
La documentation sur Kerberos et KADM5 peut être trouvée sur » http://web.mit.edu/kerberos/www/krb5-1.2/krb5-1.2.8/doc/admin_toc.html.
Cette extension définit un gestionnaire KADM5 retourné par la fonction kadm5_init_with_password().
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Les fonctions kadm5_create_principal(), kadm5_modify_principal() et kadm5_modify_principal() vous permettent de spécifier des attributs spéciaux utilisant un champ de bits. Les symboles sont définis ci-dessous :
Tableau 151. Attributs à utiliser par KDC
constante |
---|
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 |
Les fonctions kadm5_create_principal(), kadm5_modify_principal() et kadm5_get_principal() permettent de spécifier ou retourner les options des éléments principaux en tant que tableaux associatifs. Les clés pour le tableau associatif sont définies en tant que constantes ci-dessous :
Tableau 152. Options pour créer/modifier/récupérer des éléments principaux
constante | funcdef | description |
---|---|---|
KADM5_PRINCIPAL | long | Le délai d'expiration des éléments principaux en tant que timestamp Kerberos. |
KADM5_PRINC_EXPIRE_TIME | long | Le délai d'expiration des éléments principaux en tant que timestamp Kerberos. |
KADM5_LAST_PW_CHANGE | long | Le délai pendant lequel le mot de passe du principal a été changé pour la dernière fois. |
KADM5_PW_EXPIRATION | long | Le délai d'expiration du mot de passe du principal courant, en tant que timestamp Kerberos. |
KADM5_MAX_LIFE | long | La durée de vie maximale de tous les tickets Kerberos issus de ce principal. |
KADM5_MAX_RLIFE | long | La durée maximale renouvelable de tous les tickets Kerberos issus de ce principal. |
KADM5_MOD_NAME | string | Le nom du principal Kerberos qui a modifié ce principal le plus récemment. |
KADM5_MOD_TIME | long | L'heure à laquelle ce principal a été modifié pour la dernière fois, en tant que timestamp Kerberos. |
KADM5_KVNO | long | La version de la clé courante du principal. |
KADM5_POLICY | string | Le nom de la directive contrôlant ce principal. |
KADM5_CLEARPOLICY | long | La procédure standard servant à assigner la directive par défaut pour créer des éléments principaux. KADM5_CLEARPOLICY supprime ce comportement. |
KADM5_LAST_SUCCESS | long | L'heure KDC de la dernière AS_REQ qui a réussi. |
KADM5_LAST_FAILED | long | L'heure KDC de la dernière AS_REQ qui a échoué. |
KADM5_FAIL_AUTH_COUNT | long | Le nombre d'échec récursif AS_REQs. |
KADM5_RANDKEY | long | Génère un mot de passe aléatoire pour le principal. Le paramètre password sera ignoré. |
KADM5_ATTRIBUTES | long | Un champ de bits d'attributs à utiliser par KDC. |
Cet exemple simple montre comment se connecter, interroger, imprimer les éléments principaux et se déconecter depuis une base de données KADM5.
Exemple 1252. Exemple général de l'extension 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);
?>
Si vous avez des commentaires, des corrections de bogues, des enrichissements ou si vous voulez aider dans le développement, vous pouvez envoyer un email à » holger.burbach@gonicus.de. La page du projet peut être trouvé sur » http://oss.gonicus.de/project/?group_id=7.