Список всех сообщений системного журнала?

292
M.Brbr

Я хочу иметь возможность фильтровать определенные записи в системном журнале на моем компьютере с Linux. Например, я хотел бы иметь возможность фильтрации по неудачной или успешной аутентификации пользователя или по доступу к конфиденциальной информации и т. Д.

Я считаю, что мне нужно начать с получения списка всех возможных сообщений системного журнала, как это, но для сообщений системного журнала.

1
Зачем? Похоже, это проблема [X-> Y] (https://en.wikipedia.org/wiki/XY_problem), когда вы фактически не сказали нам, что пытаетесь сделать. Таким образом, вы никогда не получите соответствующий ответ. djsmiley2k 5 лет назад 0
Я хочу отфильтровать свои сообщения системного журнала, чтобы получить только те, которые меня интересуют. Я хотел бы, например, получить сообщения системного журнала о том, что аутентификация пользователя не удалась или прошла успешно. M.Brbr 5 лет назад 0
Grep твой друг в этом деле. Вы * можете * фильтровать только сообщения уровня Auth, однако уровни системного журнала полагаются на то, что приложения регистрируются на правильных уровнях, или у вас есть фильтры, чтобы убедиться, что все находится на нужных уровнях. Лично я бы просто вызвал системный журнал и затем grep для того, что мне нужно: `grep / var / log / messages 'logged'` djsmiley2k 5 лет назад 1
Имейте в виду, что некоторые события, которые вы запрашиваете, немного размыты. Сбои аутентификации регистрируются PAM - за исключением случаев, когда они не используют PAM (логины с паролями используются, но логины с открытыми ключами SSH - нет). Действия администратора настолько разнообразны, что практически невозможно создать одно «событие» для всех них. grawity 5 лет назад 0

1 ответ на вопрос

2
grawity

Такой список невозможен, так как в отличие от событий Windows (которые имеют статический список идентификаторов, определенный шаблон для каждого идентификатора и содержат только параметры), сообщения системного журнала представляют собой просто текст произвольной формы.

Для перечисления возможных сообщений даже для одной программы потребуется поиск в ее исходном коде syslog()вызовов, которые могут быть сделаны косвенно через пользовательские функции, через различные библиотеки (например, log4net) или вообще не использовать syslog (например, различные программы используют функции systemd-journal), Таким образом, это требует определенных знаний об исходном коде каждой программы и не может быть легко автоматизировано в масштабе всего дистрибутива Linux - как это должно быть, так как новые версии могут иметь разные сообщения.

(Журнал systemd имеет необязательные идентификаторы сообщений и файлы «каталога», содержащие описания и переводы. Он все еще подписан, и использование редко.)


Действительно, даже списки сообщений о событиях в Windows охватывают только стандартные компоненты ОС и, возможно, такие вещи, как MS Office. Они не могут охватывать все сообщения, которые может регистрировать стороннее программное обеспечение, которые могут устанавливать свои собственные каталоги и идентификаторы событий или даже отправлять сообщения произвольной формы.

Однако можно ли получить такой список для «базовых» событий, таких как аутентификация или вход в новый сеанс? M.Brbr 5 лет назад 0
@ M.Brbr: Возможно, вы захотите взглянуть на `Logwatch`, который является популярным анализатором системного журнала и поставляется с предопределенными шаблонами для таких событий. grawity 5 лет назад 0
Средство просмотра событий Windows позволяет приложениям добавлять в словарь и шаблоны, чтобы приложения могли записывать свои журналы в один и тот же список, и их можно фильтровать и запрашивать, как стандартные события. Время от времени в средстве просмотра событий появляются сообщения об ошибках, когда приложение сообщает об ошибке, но ОС не имеет контекста или ссылки на ошибку, в основном, установка приложения не дает ОС информацию необходимо интерпретировать ошибки приложения, но приложение все еще пытается сообщить об ошибках в ОС. music2myear 5 лет назад 0

Похожие вопросы