Datei utmp.h

Zweck

Definiert die Strukturen bestimmter Benutzer-und Abrechnungsdatendateien.

Beschreibung

Die Struktur der Datensätze in den Dateien utmp, wtmpund failedlogin ist in der Datei /usr/include/utmp.h definiert. Die utmp -Struktur in dieser Headerdatei enthält die folgenden Felder:

Element Beschreibung
ut_user Benutzeranmeldename.
ut_line Einheitenname (Konsole oder lnxx). Die maximale Länge einer Zeichenfolge in diesem Feld beträgt 11 Zeichen plus ein Nullzeichen. Wenn Sie etwas anderes als einen Prozess berücksichtigen, sind die folgenden speziellen Zeichenfolgen oder Formate zulässig:
RUNLVL_MSG
Ausführungsebene: Die Ausführungsebene des Prozesses.
BOOT_MSG
Systemboot: Die Zeit des einleitenden Programmladens (IPL).
OTIME_MSG
Alte Zeit: Die Zeit der Anmeldung.
NTIME_MSG
Neue Zeit: Die Leerlaufzeit.
ut_pid Die Prozess-ID.
ut_type Typ des Eintrags, der einer der folgenden Werte sein kann:
LEER
Nicht verwendeter Speicherbereich in Datei.
RUN_LVL
Die Ausführungsebene des Prozesses, wie in der Datei inittab definiert.
BOOT_ZEIT
Die Uhrzeit, zu der das System gestartet wurde.
OLD_ZEIT
Die Uhrzeit, zu der sich ein Benutzer am System angemeldet hat.
NEUE_ZEIT
Die Zeit, die der Benutzer inaktiv ist.
INIT_PROZESS
Ein Prozess, der vom Befehl init gestartet wird.
LOGIN_PROCESS (Anmeldeprozess)
Ein getty -Prozess wartet auf eine Anmeldung.
BENUTZERPROZESS
Ein Benutzerprozess.
DEAD_PROZESS
Ein Geisterprozess.
Abrechnung
Ein Systemabrechnungsprozess.
UTMAXTYPE-ABRECHNUNG
Der größte zulässige Rechtswert in derut_typeerlaubt.

In die Struktur utmp ist die Struktur exit_status eingebettet, die die folgenden Felder enthält:

Element Beschreibung
e_termination Beendigungsstatus eines Prozesses.
e_exit Exitstatus eines Prozesses, markiert mit dem Wert DEAD_PROCESS .
ut_time Zeit, zu der der Eintrag erstellt wurde.

Beispiele

#ifndef -H-UTMP
#define _H_UTMP
#define UTMP_FILE        "/etc/utmp"
#define WTMP_FILE        "/var/adm/wtmp"
#define ILOG_FILE        "/etc/.ilog"
#define ut_name  ut_user
  
struct utmp
{
        char ut_user[256];             /* User login name */
        char ut_id[14];                /* /etc/inittab id */
        char ut_line[64];              /* device name (console, lnxx) */
        pid_t ut_pid;                  /* process id */
        short ut_type;                 /* type of entry */
#if !defined(__64BIT__) 
        int __time_t_space;            /* for 32vs64-bit time_t PPC */
#endif
        time_t ut_time;                /* time entry was made */
        struct exit_status
        {
            short e_termination;       /* Process termination status */
            short e_exit;              /* Process exit status */
        }
        ut_exit;                       /* The exit status of a process
                                        * marked as DEAD_PROCESS.
                                        */
        char ut_host[256];             /* host name */
        int __dbl_word_pad;            /* for double word alignment */
        int __reservedA[2];
        int __reservedV[6];
};
                    /*  Definitions for ut_type */
#define EMPTY              0
#define RUN_LVL            1
#define BOOT_TIME          2
#define OLD_TIME           3
#define NEW_TIME           4
#define INIT_PROCESS       5         /* Process spawned by "init"                 */
#define LOGIN_PROCESS      6         /* A "getty" process                         */

                                     /* waitingforlogin                           */
#define USER_PROCESS       7         /* A user process                            */
#define DEAD_PROCESS       8
#define ACCOUNTING         9
#define UTMAXTYPE ACCOUNTING         /* Largest legal value                        */
                                     /* of ut_type                                 */

   /* Special strings or formats used in the          */
   /* "ut_line" field when accounting for             */
   /* something other than a process.                 */
   /* No string for the ut_line field can be more     */
   /* than 11 chars + a NULL in length.               */

#define RUNLVL_MSG          "run-level %c"
#define BOOT_MSG            "system boot"
#define OTIME_MSG           "old time"
#define TIME_MSG            "new time"

#endif                /* _H_UTMP    */
Hinweis: Der Befehl who extrahiert Informationen aus /etc/utmp, /var/adm/wtmp, und /etc/security/failedlogin .

Dateien

Element Beschreibung
/etc/utmp Der Pfad zur Datei utmp , die einen Datensatz der am System angemeldeten Benutzer enthält.
/var/adm/wtmp Der Pfad zur Datei wtmp , die Abrechnungsdaten zu angemeldeten Benutzern enthält
/etc/security/failedlogin Der Pfad zur Datei failedlogin , die eine Liste ungültiger Anmeldeversuche enthält.