Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       getspnam,   getspnam_r,   getspent,   getspent_r,  setspent,  endspent,
       fgetspent,  fgetspent_r,  sgetspent,  sgetspent_r,  putspent,  lckpwdf,
       ulckpwdf  -  Obtenir  un  enregistrement  du  fichier des mots de passe
       caches

SYNOPSIS

       /* API du fichier des mots de passe caches */
       #include <shadow.h>

       struct spwd *getspnam(const char *name);

       struct spwd *getspent(void);

       void setspent(void);

       void endspent(void);

       struct spwd *fgetspent(FILE *fp);

       struct spwd *sgetspent(const char *s);

       int putspent(struct spwd *p, FILE *fp);

       int lckpwdf(void);

       int ulckpwdf(void);

       /* Extension GNU */
       #include <shadow.h>

       int getspent_r(struct spwd *spbuf,
               char *buf, size_t buflen, struct spwd **spbufp);

       int getspnam_r(const char *name, struct spwd *spbuf,
               char *buf, size_t buflen, struct spwd **spbufp);

       int fgetspent_r(FILE *fp, struct spwd *spbuf,
               char *buf, size_t buflen, struct spwd **spbufp);

       int sgetspent_r(const char *s, struct spwd *spbuf,
               char *buf, size_t buflen, struct spwd **spbufp);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       getspent_r(), getspnam_r(), fgetspent_r(), sgetspent_r() :
           _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       Il  a  longtemps  ete  considere  comme  sur  d'avoir des mots de passe
       chiffres ouvertement visibles  dans  le  fichier  des  mots  de  passe.
       Lorsque  les ordinateurs sont devenus plus rapides et que les gens sont
       devenus plus conscients des problemes de securite,  cela  n'etait  plus
       acceptable.  Julianne Frances Haugh a implemente la suite d'utilitaires
       << shadow >> qui conserve les mots de passe chiffres dans  la  base  de
       donnees  des mots de passe caches << shadow >> (par exemple, le fichier
       local des mots de passe  caches  /etc/shadow,  NIS  ou  LDAP),  lisible
       seulement par le superutilisateur.

       Les   fonctions   decrites   ci-dessous   ressemblent   aux   fonctions
       traditionnelles de la base de donnees des mots de passe  (par  exemple,
       consultez getpwnam(3) et getpwent(3)).

       La fonction getspnam() renvoie un pointeur vers une structure contenant
       les  champs  d'un  enregistrement  extrait  de  la  base   de   donnees
       << shadow >> de l'entree correspondant a l'utilisateur de nom name.

       La  fonction getspent() renvoie un pointeur sur l'entree suivante de la
       base de donnees << shadow >>. La position dans  le  flux  d'entree  est
       initialisee  par setspent(). Lorsque la lecture est finie, le programme
       devrait appeler endspent() pour desallouer les ressources.

       La fonction fgetspent() est similaire a getspent() mais utilise le flux
       fourni plutot que celui implicitement ouvert par setspent().

       La  fonction  sgetspent() analyse la chaine s fournie dans la structure
       spwd.

       La fonction putspent() ecrit le contenu de la structure spwd *p fournie
       sous  forme d'une ligne de texte au format du fichier des mots de passe
       caches dans le flux fp. Les entrees  chaines  de  valeur  NULL  et  les
       entrees numeriques de valeur -1 sont ecrites comme des chaines vides.

       La  fonction  lckpwdf()  a  pour but de proteger la base de donnees des
       mots de passe caches contre les acces simultanes. Elle tente  d'obtenir
       un  verrou,  renvoie 0 si elle y arrive ou -1 si elle echoue (le verrou
       n'a pas pu etre obtenu dans les 15 secondes).  La  fonction  ulckpwdf()
       libere  le  verrou. Veuillez noter qu'il n'y a pas de protection contre
       l'acces  direct  au  fichier  des  mots  de  passe  caches.  Seuls  les
       programmes qui utilisent lckpwdf() remarqueront le verrou.

       C'etaient  les  routines  qui composaient l'API originale shadow. Elles
       sont largement disponibles.

   Versions r'eentrantes
       De maniere analogue aux routines reentrantes pour la  base  de  donnees
       des mots de passe, la glibc possede aussi des versions reentrantes pour
       la base de donnees des mots de passe caches. La  fonction  getspnam_r()
       est  equivalente  a la fonction getspnam() mais enregistre la structure
       des mots de passe caches trouvee dans l'espace pointe par spbuf.  Cette
       structure  des  mots  de  passe  caches contient des pointeurs vers des
       chaines qui sont stockees dans le  tampon  buf  de  taille  buflen.  Un
       pointeur  vers  le  resultat  (en  cas  de reussite) ou NULL (au cas ou
       aucune entree n'ait ete trouvee ou qu'une  erreur  soit  survenue)  est
       stocke dans *spbufp.

       Les   fonctions   getspent_r(),  fgetspent_r()  et  sgetspent_r()  sont
       analogues a leurs homologues non reentrantes.

       Certains systemes non glibc ont egalement  des  fonctions  portant  ces
       noms, souvent avec des prototypes differents.

   Structure
       La structure des mots de passe caches est definie dans <shadow.h> de la
       maniere suivante :

           struct spwd {
               char *sp_namp;     /* Identifiant de connexion */
               char *sp_pwdp;     /* Mot de passe chiffre */
               long sp_lstchg;    /* Date de derniere modification,
                                     mesuree en jours depuis l'epoque,
                                     1er janvier 1970 a 00:00:00 (UTC) */
               long sp_min;       /* Nombre de jours minimum entre
                                     deux modifications */
               long sp_max;       /* Nombre de jours maximum entre
                                     deux modifications */
               long sp_warn;      /* Nombre de jours avant l'expiration
                                     du mot de passe pour avertir
                                     l'utilisateur de le modifier */
               long sp_inact;     /* Nombre de jours apres l'expiration
                                     du mot de passe pour la desactivation
                                     du compte */
               long sp_expire;    /* Date a laquelle le compte expirera,
                                     mesuree en jours depuis l'epoque,
                                     1er janvier 1970 a 00:00:00 (UTC) */
               unsigned long sp_flag; /* Reserve */
           };

VALEUR RENVOY'EE

       Ces routines qui renvoient un pointeur renvoient NULL s'il n'y  a  plus
       d'entree   disponible   ou  si  une  erreur  est  survenue  pendant  le
       traitement. Les  routines  qui  ont  un  int  comme  valeur  de  retour
       renvoient 0 en cas de reussite et -1 en cas d'echec.

       Pour  les  fonctions  non reentrantes, la valeur de retour peut pointer
       sur une zone statique et peut etre ecrasee par des  appels  consecutifs
       de ces fonctions.

       Les fonctions reentrantes renvoient zero si elles reussissent. Si elles
       echouent, une valeur d'erreur est renvoyee.

ERREURS

       ERANGE Le tampon fourni est trop petit.

FICHIERS

       /etc/shadow
              fichier base de donnees des mots de passe caches

       /etc/.pwd.lock
              fichier verrou

       Le fichier d'inclusion  <paths.h>  definit  la  constante  _PATH_SHADOW
       comme etant le chemin du fichier des mots de passe caches.

CONFORMIT'E

       La  base  de  donnees  shadow  et  son  API ne sont pas specifiees dans
       POSIX.1-2001. Cependant,  beaucoup  de  systemes  fournissent  une  API
       similaire.

VOIR AUSSI

       getgrnam(3), getpwnam(3), getpwnam_r(3), shadow(5)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2004-2006).  Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

GNU                             25 fevrier 2010                    GETSPNAM(3)