zion -  getpwnam


Nom

getpwnam, getpwuid - Lire un enregistrement du fichier des mots de passe.

Résumé

.nf #include <pwd.h> #include <sys/types.h> struct passwd *getpwnam (const char * name ); struct passwd *getpwuid (uid_t uid ); .fi

Description

La fonction getpwnam() renvoie un pointeur sur une structure contenant les divers champs de l'enregistrement de /etc/passwd correspondant au nom d'utilisateur name.

La fonction getpwuid() renvoie un pointeur sur une structure contenant les divers champs de l'enregistrement de /etc/passwd correspondant au à l'ID d'utilisateur uid.

La structure passwd est définie dans <pwd.h> ainsi :
     .nf .ta 8n 16n 32n struct passwd { char *pw_name; /* Nom d'utilisateur */ char *pw_passwd; /* Mot de passe */ uid_t pw_uid; /* ID de l'utilisateur */ gid_t pw_gid; /* ID du groupe de l'utilisateur */ char *pw_gecos; /* Nom réel de l'utilisateur */ char *pw_dir; /* Répertoire de connexion */ char *pw_shell; /* Programme Shell de connexion */ }; .ta .fi


Valeur renvoyée

Les fonctions getpwnam() et getpwuid() renvoient un pointeur sur une structure passwd, ou NULL si une erreur se produit, ou si l'enregistrement correspondant n'est pas trouvé. En cas d'erreur, errno est rempli.

Erreurs

0 ou ENOENT ou ESRCH ou EBADF ou EPERM ou ...
    Le nom name ou l'identifiant uid n'ont pas été trouvés.

ENOMEM
    Pas assez de mémoire pour allouer la structure passwd.

EIO
    Erreur d'entrée/sortie.

EINTR
    Un signal a été capturé.

EMFILE
    Le nombre maximal (OPEN_MAX) de fichiers ouverts pour le processus est atteint.

ENFILE
    Le nombre maximal de fichiers ouverts sur le système est atteint.


Fichiers

/etc/passwd
    Base de données des mots de passe. .fi


Conformité

SVID 3, POSIX, BSD 4.3

Notes

La description "VALEUR RENVOYÉE" ci-dessu vient de Posix.1-2001. Elle ne considère pas le cas "non trouvé" commme une erreur, et ne spécifie pas errno dans ce cas. Cela rend la détection d'erreur impossible. On peut dire que d'après Posix, errno est inchangé dans le cas où aucune entrée n'est trouvée. Des essais sur de nombreux systèmes Unix ont fait apparaître différentes valeurs dans ce cas : 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM et probablement d'autres.

Voir aussi

fgetpwent (3), getgrnam (3), getpwent (3), setpwent (3), endpwent (3), getpw (3), putpwent (3), passwd (5)

Traduction

Christophe Blaess, 1996-2003.

Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?