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);

Effectuez l'édition des liens avec l'option -lutil.

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). Consultez utmp(5).

La fonction login() prend la structure utmp fournie (ut) et l'écrit dans les fichiers utmp et wtmp.

La fonction logout() efface l'entrée du fichier utmp.

  Détails à propos des spécificités 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 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>

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
login(), logout() | Sécurité des threads | MT-Unsafe race:utent sig:ALRM timer

Dans la table ci-dessus, utent dans race:utent veut dire que si une des fonctions setutent(3), getutent(3) ou endutent(3) est utilisée en parallèle dans différents fils d'exécution (thread) d'un programme, alors des situations de concurrences de données peuvent se produire. login() et logout() appellent ces fonctions, nous utilisons donc race:utent pour le rappeler aux utilisateurs.

CONFORMITÉ
Absent de POSIX.1. Présent sur les systèmes BSD.

NOTES
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)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> et Grégoire Scano <gregoire.scano@malloc.fr> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.