Fichier pwdpolicy.h
Objectif
Définit les types et les constantes de manifeste requis pour la prise en charge de la fonction passwdpolicy() .
Descriptif
Le format du fichier d'en-tête pwdpolicy.h doit être similaire aux attributs de règle de construction de mot de passe stockés dans le fichier /etc/security/user , à l'exception du fait que les règles nommées n'incluent pas les attributs histsize et histexpire. Chaque fichier est une séquence de zéro ou plusieurs strophes, la règle nommée étant le nom de la strophe. Chaque section contient un ou plusieurs attributs décrivant les règles de mot de passe qui doivent être satisfaites pour qu'un mot de passe soit accepté.
| Article | Descriptif |
|---|---|
| pwp_version | Indique la version de la structure passwd_policy_t. Le numéro de version de la structure en cours est PWP_VERSION_1. Les futures extensions de cette structure utiliseront un numéro de version différent. |
| pwp_minage | Nombre de secondes sous forme de time32_t entre le moment où un mot de passe est modifié et le moment où le mot de passe peut à nouveau être modifié. Cette zone est référencée si PWP_TOO_SOON est défini dans les vérifications. |
| pwp_maxage | Nombre de secondes en tant que time32_t après la modification d'un mot de passe lorsqu'il est considéré comme arrivé à expiration. Cette zone est référencée si PWP_EXPIRED est défini dans les vérifications. |
| pwp_maxexpired | Nombre de secondes, en tant que time32_t, après l'expiration d'un mot de passe lorsqu'il ne peut plus être modifié. La valeur 0 indique qu'un mot de passe arrivé à expiration ne peut pas être modifié. Une valeur de -1 indique qu'un mot de passe expiré peut être modifié après un certain temps. Cette zone est référencée si PWP_EXPIRED est défini dans les vérifications. |
| pwp_minalpha | Nombre minimal de caractères du mot de passe qui doivent être des caractères alphabétiques, déterminé en appelant la macro isalpha (). Une valeur inférieure ou égale à 0 désactive ce test. Cette zone est référencée si PWP_TOO_FEW_ALPHA est défini dans les vérifications. |
| pwp_minother | Nombre minimal de caractères du mot de passe qui ne peuvent pas être des caractères alphabétiques, déterminé en appelant la macro isalpha (). Une valeur inférieure ou égale à 0 désactive ce test. Cette zone est référencée si PWP_TOO_FEW_OTHER est défini dans les vérifications. |
| pwp_minlen | Nombre total minimal de caractères dans le mot de passe. Une valeur inférieure ou égale à 0 désactive ce test. Cette zone est référencée si PWP_TOO_SHORT est défini dans les vérifications. |
| pwp_maxrepeats | Nombre maximal de fois où un caractère individuel peut apparaître dans le mot de passe. Une valeur inférieure ou égale à 0 désactive ce test. Cette zone est référencée si PWP_TOO_MANY_REPEATS est défini dans les vérifications. |
| pwp_mindiff | Nombre minimal de caractères à modifier entre l'ancien et le nouveau mot de passe. Une valeur inférieure ou égale à 0 désactive ce test. Cette zone est référencée si PWP_TOO_MANY_SAME est défini dans les vérifications. |
Exemple
#include <sys/types.h>
/* Name types */
#define PWP_USERNAME 1
#define PWP_SYSTEMPOLICY 2
#define PWP_LOCALPOLICY 3/* Test flag values */
#define PWP_TOO_SOON 0x0001
#define PWP_EXPIRED 0x0002
#define PWP_TOO_FEW_ALPHA 0x0004
#define PWP_TOO_FEW_OTHER 0x0008
#define PWP_TOO_SHORT 0x0010
#define PWP_TOO_MANY_REPEATS 0x0020
#define PWP_TOO_MANY_SAME 0x0040
#define PWP_IN_DICTIONARY 0x0080
#define PWP_REUSED_PW 0x0100
#define PWP_REUSED_TOO_SOON 0x0200
#define PWP_FAILED_OTHER 0x0400
/* Policy structure version number */
#define PWP_VERSION_1 1
/* Policy structure definition */
typedef struct {
int pwp_version;
time32_t pwp_minage;
time32_t pwp_maxage;
time32_t pwp_maxexpired;
int pwp_minalpha;
int pwp_minother;
int pwp_minlen;
int pwp_maxrepeats;
int pwp_mindiff;
} passwd_policy_t;
Les attributs maxage, minage, maxexpired, maxrepeat, mindiff, minalpha, minother et minlen sont des entiers. Les attributs dictionlist et pwdchecks sont des listes de noms de fichiers séparés par des virgules. Pour plus d'informations sur les valeurs valides pour les attributs, voir /etc/security/user.
Autorisations
Seul l'utilisateur root doit disposer d'un accès en écriture (w).
Emplacement
/usr/include/pwdpolicy.h