login(3)

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.