DOKK / manpages / debian 12 / manpages-fr-dev / logout.3.fr
login(3) Library Functions Manual login(3)

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

System utilities library (libutil, -lutil)

#include <utmp.h>
void login(const struct utmp *ut);
int logout(const char *ut_line);

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.

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.

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.

/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>

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.

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

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>.

getutent(3), utmp(5)

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 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.

15 décembre 2022 Pages du manuel de Linux 6.03