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é.

Les paramètres de règles sur les mots de passe sont répertoriés dans le tableau suivant.
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