#include <libaudit.h>
Эта функция получает значение параметра failure_action из конфигурационного файла /etc/libaudit.conf. get_auditfail_action должна быть вызвана после того, как вызов audit_open вернет ошибку - для определения действия, которое необходимо предпринять.
Найденное в /etc/libaudit.conf значение failure_action копируется в аргумент failmode. Затем это значение может быть использовано вызывающим приложением для того, чтобы определить какое действие должно быть выполнено, если подсистема аудита недоступна.
В случае успешного завершения get_auditfail_action возвращает 0, а аргумент failmode будет содержать значение failure_action. failure_action может принимать значения: FAIL_IGNORE (0), FAIL_LOG (1), and FAIL_TERMINATE (2). В случае возникновения ошибки get_auditfail_action возвращает 1.
Ошибка возвратится, если невозможно чтение из /etc/libaudit.conf или если параметр failure_action не найден в этом файле.
/* Пример кода */
auditfail_t failmode;
if ((fd = audit_open() ) < 0 ) {
fprintf (stderr, "Cannot open netlink audit socket");
/* Получить действие из failure_action */
if ((rc = get_auditfail_action(&failmode)) == 0) {
if (failmode == FAIL_LOG)
fprintf (stderr, "Audit subsystem unavailable");
else if (failmode == FAIL_TERMINATE)
exit (1);
/* Если failmode == FAIL_IGNORE - ничего не делать */
}
}
audit_open(3), auditd(8).
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |