Subroutine auditproc

Zweck

Ruft den Prüfstatus eines Prozesses ab oder legt ihn fest.

Bibliothek

Standard-C-Bibliothek (libc.a)

Syntax

#include <sys/audit.h>
int auditproc (ProcessIDCommandArgumentLength)
int  ProcessID;
int  Command;
char *  Argument;
int  Length;

Beschreibung

Die Subroutine auditproc fragt den Prüfstatus eines Prozesses ab oder legt diesen fest. Der Prüfstatus eines Prozesses besteht aus zwei Teilen:

  • Die Liste der Klassen, die für diesen Prozess geprüft werden sollen Klassen werden von der Subroutine auditevents definiert. Jede Klasse enthält eine Gruppe von Prüfereignissen. Wenn ein Prozess ein Prüfereignis verursacht, wird dieses Ereignis möglicherweise im Prüfprotokoll protokolliert, wenn es in mindestens einer Prüfklasse des Prozesses enthalten ist.
  • Der Prüfstatus des Prozesses. Die Prüfung eines Prozesses kann ausgesetzt oder fortgesetzt werden. Funktionen, die einen Prüfdatensatz generieren, können zuerst prüfen, ob die Prüfung ausgesetzt ist. Wenn die Prozessprüfung ausgesetzt ist, werden keine Prüfereignisse für einen Prozess protokolliert. Weitere Informationen finden Sie unter der Subroutine auditlog .

Parameter

Element Beschreibung
ProcessID Die Prozess-ID des Prozesses, der betroffen sein soll. Wenn ProcessID 0 ist, wirkt sich die Subroutine auditproc auf den aktuellen Prozess aus.
Befehl Die auszuführende Aktion. Die folgenden Werte sind in der Datei audit.h definiert:
AUDIT_KLIST_EVENTS
Legt die Liste der Prüfklassen fest, die für den Prozess geprüft werden sollen, sowie die Standardprüfklassendefinition des Benutzers im Kernel. Der Parameter Argument ist ein Zeiger auf eine Liste mit auf null endenden Prüfklassennamen. Der Parameter Länge ist die Länge dieser Liste, einschließlich Nullbytes.
AUDIT_QEVENTS
Gibt die Liste der für den aktuellen Prozess definierten Prüfklassen zurück, wenn ProcessID 0 ist. Andernfalls wird die Liste der Prüfklassen zurückgegeben, die für die angegebene Prozess-ID definiert sind. Der Parameter Argument ist ein Zeiger auf einen Zeichenpuffer. Der Parameter Länge gibt die Größe dieses Puffers an. Bei der Rückkehr enthält dieser Puffer eine Liste mit auf null endenden Prüfklassennamen. Ein Nullname beendet die Liste.
AUDIT_EVENTS
Legt die Liste der Prüfklassen fest, die für den Prozess geprüft werden sollen Der Parameter Argument ist ein Zeiger auf eine Liste mit auf null endenden Prüfklassennamen. Der Parameter Länge ist die Länge dieser Liste, einschließlich Nullbytes.
AUDIT_QSTATUS
Gibt den Prüfstatus des aktuellen Prozesses zurück. Sie können nur den Status des aktuellen Prozesses prüfen. Wenn der Parameter ProcessID ungleich Null ist, wird -1 zurückgegeben und die globale Variable errno auf EINVAL gesetzt. Die Parameter Länge und Argument werden ignoriert. Der Rückgabewert AUDIT_SUSPEND gibt an, dass die Prüfung ausgesetzt ist. Der Rückgabewert AUDIT_RESUME gibt die normale Prüfung für diesen Prozess an.
PRÜFSTATUS
Legt den Prüfstatus des aktuellen Prozesses fest. Der Parameter Länge wird ignoriert und der Parameter ProcessID muss null sein. Wenn Argument auf AUDIT_SUSPENDgesetzt ist, wird der Prüfstatus so gesetzt, dass die Ereignisprüfung für diesen Prozess ausgesetzt wird. Wenn der Parameter Argument den Wert AUDIT_RESUMEhat, wird der Prüfstatus auf die Wiederaufnahme der Ereignisprüfung für diesen Prozess gesetzt.
Argument Ein Zeichenzeiger für den Prüfklassenpuffer für einen AUDIT_EVENT -oder AUDIT_QEVENTS -Wert des Parameters Befehl oder eine ganze Zahl, die den Prüfstatus definiert, der für eine AUDIT_STATUS -Operation festgelegt wird.
Länge Größe des Zeichenpuffers der Prüfklasse.

Rückgabewerte

Die Subroutine auditproc gibt nach erfolgreicher Beendigung die folgenden Werte zurück:

  • vorheriger Prüfstatus (AUDIT_SUSPEND oder AUDIT_RESUME), wenn der Aufruf den Prüfstatus abgefragt oder festgelegt hat (der Parameter Befehl hat AUDIT_QSTATUS oder AUDIT_STATUSangegeben)
  • Der Wert 0, wenn der Aufruf Prüfereignisse abgefragt oder festgelegt hat (der Parameter Befehl hat AUDIT_QEVENTS oder AUDIT_EVENTSangegeben)

Fehlercodes

Wenn die Subroutine auditproc fehlschlägt, wenn mindestens eine der folgenden Bedingungen zutrifft:

Element Beschreibung
EINVAL Für den Parameter Befehl wurde ein ungültiger Wert angegeben.
EINVAL Der Parameter Befehl wird auf den Wert AUDIT_QSTATUS oder AUDIT_STATUS gesetzt und der Wert pid ist ungleich null.
EINVAL Der Parameter Befehl ist auf den Wert AUDIT_STATUS gesetzt und der Parameter Argument ist nicht auf AUDIT_SUSPEND oder AUDIT_RESUMEgesetzt.
ENOSPC Der Parameter Befehl ist AUDIT_QEVENTSund die Puffergröße ist nicht ausreichend. In diesem Fall wird das erste Wort des Parameters Argument auf die erforderliche Größe gesetzt.
EFAULT Der Parameter Befehl ist AUDIT_QEVENTS oder AUDIT_EVENTS und der Parameter Argument verweist auf eine Position außerhalb des zugeordneten Adressraums des Prozesses.
ENOMEM Hauptspeicherzuordnung fehlgeschlagen.
EPERM Der Aufrufende hat keine Rootberechtigung.