Provided by: manpages-de-dev_4.27.0-1_all 

BEZEICHNUNG
login, logout - Utmp- und Wtmp-Einträge schreiben
BIBLIOTHEK
System-Hilfswerkzeug-Bibliothek (libutil, -lutil)
ÜBERSICHT
#include <utmp.h>
void login(const struct utmp *ut);
int logout(const char *ut_line);
BESCHREIBUNG
Die Datei utmp zeichnet auf, wer derzeit das System verwendet. Die Datei wtmp zeichnet alle An- und
Abmeldungen auf. Siehe utmp(5).
Die Funktion login() akzeptiert die bereitgestellten struct utmp, ut und schreibt sie beide in die
Dateien utmp und wtmp.
Die Funktion logout() bereinigt den Eintrag in der Utmp-Datei wieder.
GNU-Details
Genauer gesagt akzeptiert login() die Struktur ut, befüllt das Feld ut->ut_type (falls es ein solches
Feld gibt) mit dem Wert USER_PROCESS und befüllt das Feld ut->ut_pid (falls es ein solches Feld gibt) mit
der Prozesskennung des aufrufenden Prozesses. Dann versucht sie das Feld ut->ut_line zu befüllen. Es
nimmt das erste aus stdin, stdout und stderr, das ein Terminal ist, und speichert den entsprechenden
Pfadnamen ohne ein möglicherweise einleitendes /dev/ in diesem Feld und schreibt dann die Struktur in die
Utmp-Datei. Falls andererseits kein Terminalname gefunden wurde, wird dieses Feld mit »???« befüllt und
die Struktur wird nicht in die Utmp-Datei geschrieben. Danach wird die Struktur in die Wtmp-Datei
geschrieben.
Die Funktion logout() durchsucht die Utmp-Datei nach einem auf das Argument ut_line passenden Eintrag.
Falls ein Eintrag gefunden wird, wird er aktualisiert, indem er in den Feldern ut_name und ut_host
ausgenullt wird, wobei der Zeitstempel ut_tv aktualisiert und ut_type auf DEAD_PROCESS gesetzt wird
(falls es ein solches Feld gibt).
RÜCKGABEWERT
Die Funktion logout() liefert 1 zurück, falls der Eintrag erfolgreich in die Datenbank geschrieben wurde
oder 0, falls ein Fehler auftrat.
DATEIEN
/var/run/utmp
Benutzerkontendatenbank, konfiguriert mittels _PATH_UTMP in <paths.h>
/var/log/wtmp
Benutzerkontenprotokolldatei, konfiguriert mittels _PATH_WTMP in <paths.h>
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌───────────────────┬───────────────────────┬───────────────────────────────────────────────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├───────────────────┼───────────────────────┼───────────────────────────────────────────────────────────┤
│ login(), logout() │ Multithread-Fähigkeit │ MT-Unsicher race:utent sig:ALRM timer │
└───────────────────┴───────────────────────┴───────────────────────────────────────────────────────────┘
In der obigen Tabelle bedeutet utent in race:utent, dass falls eine der Funktionen setutent(3),
getutent(3) oder endutent(3) parallel in verschiedenen Threads eines Programms verwandt wird,
Datenwettläufe auftreten könnten. login() und logout() verwenden diese Funktionen, daher wird race:utent
verwandt, um Benutzer daran zu erinnern.
VERSIONEN
Das Mitglied ut_user von struct utmp wird in BSD ut_name genannt. Daher ist in <utmp.h> ut_name als Alias
für ut_user definiert.
STANDARDS
BSD.
SIEHE AUCH
getutent(3), utmp(5)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
Linux man-pages 6.9.1 2. Mai 2024 login(3)