Linux |
CentOS 5.3 |
|
shadow(3) |
shadow, getspnam − routines d’utilisation des mots de passe cachés |
#include <shadow.h> struct spwd *getspent(); struct spwd *getspnam(char*nom); void setspent(); void endspent(); struct spwd *fgetspent(FILE*fp); struct spwd *sgetspent(char*cp); int putspent(struct spwd*p,FILE*fp); int lckpwdf(); int ulckpwdf(); |
shadow manipule le contenu du fichier des mots de passe cachés, /etc/shadow. La structure définie dans le fichier inclu est : struct spwd { |
*sp_namp; /* nom de connexion de l’utilisateur
*/ |
||||||
*sp_pwdp; /* mot de passe chiffré */ |
||||||
sp_lstchg; /* dernier changement de mot de passe */ |
||||||
sp_min; /* jours avant de pouvoir changer de mot de
passe */ |
||||||
sp_max; /* jours avant l’obligation de changer de
mot de passe */ |
||||||
sp_warn; /* jours d’avertissement avant la fin de
validité */ |
||||||
sp_inact; /* jours avant que le compte soit inactif
*/ |
||||||
sp_expire; /* date de fin de validité du
compte */ |
sp_flag; /* réservé pour une utilisation future */ |
} La signification de chaque champ est la suivante : |
• |
sp_namp − pointeur vers le nom d’utilisateur « null−terminated » |
||
• |
sp_pwdp − pointeur vers le mot de passe « null−terminated » |
||
• |
sp_lstchg − numéro du jour de dernière modification du mot de passe à compter du premier janvier 1970 |
||
• |
sp_min − nombre de jours pendant lesquels le mot de passe ne peut pas être changé |
||
• |
sp_max − nombre de jours maximal avant que le mot de passe doit être changé |
||
• |
sp_warn − nombre de jours avant que le mot de passe n’arrive en fin de validité pendant lesquels l’utilisateur est averti de la fin prochaine de la validité de son mot de passe |
||
• |
sp_inact − nombre de jours après la fin de validité du mot de passe avant de considérer que le compte est inactif et désactivé |
||
• |
sp_expire − numéro du jour après lesquels le compte est désactivé, à compter du 1er janvier 1970 |
||
• |
sp_flag − réservé pour une utilisation future |
Getspent, getspname, fgetspent, et sgetspent renvoient tous un pointeur vers une structure struct spwd. Getspent renvoie l’entrée suivante du fichier, et fgetspent renvoie l’entrée suivante du flux qui est considéré comme étant un fichier au bon format. Sgetspent renvoie un pointeur vers une structure struct spwd en utilisant la chaîne de caractère fournie en entrée. Getspnam cherche à partir de la position courante une entrée correspondant à nom dans le fichier fourni en entrée. Setspent et endspent peuvent être utilisés pour débuter et terminer l’accès au fichier de mots de passe cachés. Les fonctions lckpwdf et ulckpwdf doivent être utilisée pour garantir un accès exclusif au fichier /etc/shadow. Lckpwdf essaie de placer un verrou avec pw_lock pendant 15 secondes. Il essaie ensuite de placer un second verrou en utilisant spw_lock pendant le reste de ces 15 secondes. Si un de ces verrous ne peut être placé, lckpwdf renvoie −1. Quand les deux verrous peuvent être placés, la valeur 0 est renvoyée. |
Les fonctions renvoient NULL si plus aucune entrée n’est disponible ou si une erreur est survenue pendant le traitement. Les fonctions dont la valeur de retour est un int renvoient 0 en cas de succès et −1 en cas d’échec. |
Ces fonctions peuvent n’être disponibles que pour le superutilisateur, puisque l’accès au fichier de mots de passe cachés est restreint. |
/etc/shadow |
informations sécurisées sur les comptes utilisateurs |
getpwent(3), shadow(5). |
shadow(3) |