LOGIN(3)

NOM
login, logout - Écrire les entrées utmp et wtmp

SYNOPSIS
#include <utmp.h>

void login(const struct utmp *ut);

int logout(const char *ut_line);

Utilisez -lutil à l'édition de liens.

DESCRIPTION
Le fichier utmp enregistre qui utilise actuellement le système. Le fichier wtmp enregistre toutes les connexions (Ndt : login) et déconnexions (Ndt : logout).
 Voir utmp(5).

La fonction login() prend la structure utmp ut fournie et l'écrit dans les fichiers utmp et wtmp. La fonction logout() efface l'entrée du fichier utmp.

  Détails GNU
Plus précisément, login() prend l'argument structure ut, remplit le champ ut->ut_type (s'il existe) avec la valeur USER_PROCESS, et remplit le champ ut->ut_pid (s'il existe) avec le PID du processus appelant. Elle tente ensuite de remplir le champ ut->ut_line. Elle prend le premier parmi l'entrée standard (stdin), la sortie standard (stdout) et la sortie d'erreur (stderr) qui soit un terminal (tty) et enregistre dans ce champ le chemin correspondant, amputé d'un possible /dev/. Elle écrit ensuite la structure dans le fichier utmp. Si aucun de terminal (tty) n'est trouvé, le champ est renseigné avec "???" et la structure n'est pas écrite dans le fichier utmp. Après cela, la structure est écrite dans le fichier wtmp.

La fonction logout() cherche dans le fichier utmp une entrée correspondant à l'argument ut_line. Si un enregistrement est trouvé, il est mis à jour par une mise à zéro des champs ut_name et ut_host, une mise à jour du champ d'horodatage ut_tv et un renseignement du champ ut_type (s'il existe) à la valeur DEAD_PROCESS.

VALEUR RENVOYÉE
La fonction logout() renvoie 1 si l'entrée a été correctement écrite dans la base de données, ou zéro en cas d'erreur.

FICHIERS

/var/run/utmp
    base de données de comptabilité utilisateur, configurée par _PATH_UTMP dans <paths.h>

/var/log/wtmp
    fichier de journalisation de comptabilité utilisateur, configuré par _PATH_WTMP dans <paths.h>

CONFORMITÉ
Absente de POSIX.1-2001. Présente sur les systèmes BSD.

NOTES
Ces fonctions sont dans la bibliothèque libutil, il faut donc ajouter -lutil sur la ligne de commande du compilateur. Notez que le membre ut_user de la structure utmp est appelé ut_name dans BSD. C'est pourquoi ut_name est défini comme un alias de ut_user dans <utmp.h>.

VOIR AUSSI
getutent(3), utmp(5)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 juillet 2003, mise à jour par Alain Portal <aportal AT univ-montp2 DOT fr> le 23 décembre 2005 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 login ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.