getpwent(3) Library Functions Manual getpwent(3) NOM getpwent, setpwent, endpwent - Lire un enregistrement du fichier des mots de passe BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include #include struct passwd *getpwent(void); void setpwent(void); void endpwent(void); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : getpwent(), setpwent(), endpwent() : _XOPEN_SOURCE >= 500 || /* glibc >= 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE DESCRIPTION La fonction getpwent() renvoie un pointeur sur une structure contenant les divers champs d'un enregistrement de la base de donnees des mots de passe (par exemple, le fichier de mots de passe local /etc/passwd, NIS ou LDAP). Au premier appel, getpwent() renvoie le premier enregistrement, puis les enregistrements suivants lors des appels ulterieurs. La fonction setpwent() ramene la position dans le fichier au debut de la base de donnees des mots de passe. La fonction endpwent() est utilisee pour fermer la base de donnees des mots de passe apres que toutes les actions ont ete realisees. La structure passwd est definie dans comme ceci : struct passwd { char *pw_name; /* Nom d'utilisateur */ char *pw_passwd; /* Mot de passe de l'utilisateur */ uid_t pw_uid; /* ID de l'utilisateur */ gid_t pw_gid; /* ID du groupe */ char *pw_gecos; /* Information utilisateur */ char *pw_dir; /* Repertoire personnel */ char *pw_shell; /* Interpreteur de commande */ }; Pour plus d'informations a propos des champs de cette structure, consultez passwd(5). VALEUR RENVOYEE La fonction getpwent() renvoie un pointeur sur une structure passwd, ou NULL si une erreur s'est produite ou s'il n'y a plus d'enregistrement. En cas d'erreur, errno est defini pour indiquer l'erreur. Si vous souhaitez verifier errno apres l'appel, sa valeur doit etre positionnee a zero avant l'appel. La valeur de retour peut pointer vers une zone statique et donc etre ecrasee par des appels successifs a getpwent(), getpwnam(3) ou getpwuid(3) (ne pas passer le pointeur renvoye a free(3)). ERREURS EINTR Un signal a ete intercepte ; consultez signal(7). EIO Erreur d'entree-sortie. EMFILE La limite du nombre de descripteurs de fichiers par processus a ete atteinte. ENFILE La limite du nombre total de fichiers ouverts pour le systeme entier a ete atteinte. ENOMEM Pas assez de memoire pour allouer la structure passwd. ERANGE L'espace tampon fourni est insuffisant. FICHIERS /etc/passwd Base de donnees locale des mots de passe ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +------------+--------------------------+------------------------------+ |Interface | Attribut | Valeur | +------------+--------------------------+------------------------------+ |getpwent() | Securite des threads | MT-Unsafe race:pwent | | | | race:pwentbuf locale | +------------+--------------------------+------------------------------+ |setpwent(), | Securite des threads | MT-Unsafe race:pwent locale | |endpwent() | | | +------------+--------------------------+------------------------------+ Dans la table ci-dessus, pwent dans race:pwent signifie que si une des fonctions setpwent(), getpwent() ou endpwent() est utilisee en parallele dans differents threads d'un programme, des situations de competition de donnees peuvent se produire. VERSIONS Le champ pw_gecos n'est pas specifie dans POSIX, mais il est present sur la plupart des implementations. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4, 4.3BSD. VOIR AUSSI fgetpwent(3), getpw(3), getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 getpwent(3)