Formato do Arquivo
Propósito
Descreve as estruturas de dados de auditoria.
Descrição
O arquivo /usr/include/sys/audit.h contém estrutura e definições constantes para os comandos do sistema de auditoria, subroutines, e daemons:
Formatar o Formato Bin
O formato da bin de auditoria é descrito pela estrutura aud_bin . Uma trilha de auditoria consiste em uma sequência de bins, cada um deles deve começar com um cabeçote de bin e terminar com um rabo de bin. A estrutura aud_bin contém os seguintes campos:
| Item | Descrição |
|---|---|
| bin_magic | O número mágico para o bin (0xf0f0). |
| bin_version | O número da versão para o bin (0). |
| bin_tail | Indica se a bin descreve a cabeça de trilha de auditoria ou cauda:
|
| bin_len | O comprimento (não embalado) dos registros de bin. Um valor não zero indica que o bin tem um registro de cauda. |
| bin_plen | O comprimento atual do registro do bin (pode ser embalado). |
| bin_time | O tempo em que a cabeça ou cauda foi escrita. |
| bin_reserved1 | Não usado atualmente. |
| bin_reserved2 | Não usado atualmente. |
Formato de Classe de Auditoria
O formato da classe de auditoria é descrito pela estrutura audit_class , que contém os seguintes campos:
| Item | Descrição |
|---|---|
| ae_name | Um ponteiro para o nome da classe de auditoria. |
| ae_list | Um ponteiro para uma lista de nomes de eventos de auditoria terminados em null para esta classe de auditoria. A lista é terminada por um nome nulo (um byte nulo líder ou dois bytes nulos consecutivos). Nota: Os nomes de eventos e de classe são limitados a 15 caracteres significativos.
|
| ae_len | O comprimento da lista de eventos noae_listmembro. Este comprimento inclui a terminação de bytes nulos. Em uma operação AUDIT_SET , o caller deve configurar este membro para indicar o comprimento real da lista (em bytes) apontado porae_list. Em uma operação AUDIT_GET ou AUDIT_LOCK , a subroutine auditevents configura este membro para indicar o tamanho real da lista. |
Formato de Objeto de Auditoria
O formato do objeto de auditoria é descrito pela estrutura o_event , que contém os seguintes campos:
| Item | Descrição |
|---|---|
| o_type | Especifica o tipo do objeto, em termos de espaço de nomenclatura. Atualmente, apenas um espaço de nomenclatura de objetos é suportado:
|
| o_name | Especifica o nome do objeto. |
| o_event | Especifica qualquer matriz de nomes de eventos a serem gerados quando o objeto for acessado. Note que nomes de eventos estão atualmente limitados a 16 bytes, incluindo o null trailing. O índice de um nome de evento nesta matriz corresponde a um modo de acesso. Índices válidos são definidos no arquivo audit.h e incluem o seguinte:
Nota: O compilador C++ irá gerar um aviso indicando que o_event é definido tanto como uma estrutura quanto um campo dentro dessa estrutura. Embora o campo o_event possa ser usado dentro de C + +, o aviso pode por bytransmitido definindo O_EVENTENT_RENAME. Isto substituirá o campo o_event com o_event_array. o_event é o campo padrão.
|
Formato de registro de auditoria
Cada registro de auditoria consiste em uma lista de identificadores de eventos de comprimento fixo, cada um dos quais pode ser seguido por uma cauda de comprimento variável. O formato do registro de auditoria é descrito pela estrutura aud_rec , que contém os seguintes campos para identificar o evento:
| Item | Descrição |
|---|---|
| ah_magic | Número mágico para registro de auditoria. |
| ah_length | O comprimento da parte da cauda do registro de auditoria. |
| ah_event[16] | O nome do evento e um terminador nulo. |
| ah_result | Uma indicação de se o evento descreve uma operação bem-sucedida. Os valores para este campo são:
|
A estrutura aud_rec também contém os seguintes campos para identificar o usuário e o processo:
| Item | Descrição |
|---|---|
| ah_ruid | O ID real do usuário; ou seja, o número de ID do usuário que criou o processo que escreveu este registro. |
| ah_luid | O ID de login do usuário que criou o processo que escreveu este registro. |
| ah_name[16] | O nome do programa do processo, juntamente com um terminador nulo. |
| ah_pid | O ID do processo do processo que escreveu este registro. |
| ah_ppid | O ID do processo do pai deste processo. |
| ah_time | O tempo em segundos em que este registro de auditoria foi escrito. |
| ah_ntime | Os nanosegundos deslocados deah_time. |
A cauda de registro segue esta informação de cabeçalho.