GETLOGIN(3)        Manuel du programmeur Linux        GETLOGIN(3)


NOM
       getlogin, cuserid - Obtenir le nom de l'utilisateur.

SYNOPSIS
       #include <unistd.h>

       char *getlogin (void);

       #include <stdio.h>

       char *cuserid (char *string);

DESCRIPTION
       La fonction getlogin renvoie un pointeur sur une chaîne de
       caractères contenant le nom de l'utilisateur connecté  sur
       le  terminal  contrôlant le processus, ou un pointeur NULL
       si cette information n'est pas disponible.  La chaîne  est
       allouée de manière statique et peut donc être ecrasée lors
       des appels ultérieurs à getlogin ou à cuserid.

       La fonction cuserid renvoie un pointeur sur une chaîne  de
       caractères  contenant  le  nom  de l'utilisateur associé à
       l'UID effectif du processus. Si string n'est pas un  poin­
       teur  NULL,  ce  doit  être  une  table contenant au moins
       L_cuserid caractères.  La chaîne sera alors renvoyée  dans
       cette  table. Sinon (si string vaut NULL), un pointeur sur
       une chaîne allouée statiquement sera renvoyé. Cette chaîne
       peut etre écrasée par des appels ultérieurs à cuserid ou à
       getlogin.

       La constante symbolique L_cuserid est  un  entier  déclaré
       dans   stdio.h,  indiquant  la  longueur  nécessaire  pour
       stocker un nom d'utilisateur.

       Ces fonctions permettent d'identifier correctement l'util­
       isateur  qui  exécute le programme (cuserid) ou l'utilisa­
       teur connecté  pour  la  session  (getlogin).   (Ces  deux
       éléments  peuvent  différer si le bit Set-UID du programme
       est validé).

       La plupart du temps, il est plus utile d'utiliser la vari­
       able  d'environnement  LOGNAME  pour déterminer l'utilisa­
       teur. Ceci est plus flexible car il est justement possible
       de modifier LOGNAME arbitrairement.

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

FICHIERS
       /etc/passwd    Base de données des mots de passe.
       /etc/utmp (ou /var/adm/utmp, ou n'importe quel endroit  ou
       se trouve utmp - Le chemin d'accès dépend de la version de
       libc).



Linux 1.2.13             26 Octobre 1996                        1





GETLOGIN(3)        Manuel du programmeur Linux        GETLOGIN(3)


CONFORMITÉ
       POSIX.1.  System V  dispose  d'une  fonction  cuserid  qui
       utilise  l'UID réel plutôt que l'UID effectif. La fonction
       cuserid a été incorporée dans la version  POSIX  de  1988,
       mais supprimée de la version de 1990.

BUGS
       Malheureusement,  il  est  souvent assez facile de tromper
       getlogin().  Parfois il ne fonctionne pas du tout car cer­
       tains programmes n'utilisent pas le fichier utmp correcte­
       ment.  Souvent, il ne retourne que  les  8  premiers  car­
       actères  du nom. L'utilisateur connecté sur le terminal de
       contrôle d'un programme n'est pas nécessairement celui qui
       a lancé le programme.

       Personne  ne  sait  précisement  ce  que  fait  cuserid().
       Evitez-le dans  des  programmes  portables.  Evitez-le  de
       toute  manière. Utilisez getpwuid(geteuid()) à la place si
       vous en avez besoin. N'UTILISEZ PAS cuserid().

VOIR AUSSI
       geteuid(2), getuid(2)



TRADUCTION
       Christophe Blaess, 1997.






























Linux 1.2.13             26 Octobre 1996                        2