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:
|
| ut_pid | Die Prozess-ID. |
| ut_type | Typ des Eintrags, der einer der folgenden Werte sein kann:
|
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. |