прослушиватель событий ядра

Интересно, есть ли что-то похожее на прослушиватель событий в UNIX, к которому может подписаться программа? В частности, я хочу знать:

Start and end times of a user session Start and end of the applications executed by that user 

Какие-нибудь советы?

Использование psacct

События, которые вы ищете, можно найти через psacct . В частности, я бы посмотрел на инструмент ac который показывает учетную информацию о пользователях. Я касаюсь этого в этом U & L Q & A под заголовком: Команды для определения уровня использования сервера .

ПРИМЕЧАНИЕ. Это не рубрика «сервис», а скорее инфраструктура отслеживания и отчетности, на которую вы можете задать вопросы.

Вы также можете использовать lastcomm (часть psacct, у него есть несколько инструментов в пакете), чтобы узнать, когда данное приложение использовалось пользователем X.

пример

 $ lastcomm rm rm S root pts/0 0.00 secs Tue Nov 14 00:39 rm S root pts/0 0.00 secs Tue Nov 14 00:39 rm S root pts/0 0.00 secs Tue Nov 14 00:38 

Вам придется копать немного в psacct но есть много ресурсов об этом в U & L, а также в google, который должен получить то, что вы хотите.

Использование auditd

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

пример

 $ sudo ausearch -x /usr/bin/sudo | head -5 ---- time->Sat Dec 7 21:15:15 2013 type=USER_AUTH msg=audit(1386468915.558:419): pid=2189 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:authentication acct="saml" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success' ---- time->Sat Dec 7 21:15:15 2013 

ПРИМЕЧАНИЕ . Вышеупомянутое содержит все записи, в которых кто-то запускал инструмент /usr/bin/sudo .

Рекомендации

  • Глава 32. Внедрение набора правил аудита
  • 7.7. Поиск файлов журнала аудита