Одно событие ausearch собирает из нескольких строк. Главная — SYSCALL: в ней и процесс, и пользователь (все поля).
commиexe— короткое имя и полный путь программы, которая обратилась к файлу (здесь —sed);uid— от кого шёл процесс (действующий пользователь);auid— кто вошёл в систему и запустил цепочку (login uid). У службы, стартовавшей с загрузки,auid=unset: её запустила система, без входа человека. У действия вошедшего пользователя (через вход на консоль, ssh или cron)auid— его имя.
ppid в событии — процесс-родитель. По нему видно, кто запустил программу: ps -o unit= -p <ppid> назовёт службу. Так от записи в файле доходят до службы или задания, которое её делает.
В событии аудита о правке /etc/hosts стоит auid=unset, uid=root, comm="sed". Что это говорит о том, кто изменил файл?
-
У действия вошедшего человека
auidбыл бы его именем, а неunset.unsetзначит, что запустила служба, а не вход. -
В событии есть
comm,exe,uidиppid— этого хватает, чтобы назвать программу и дойти поppidдо службы. -
auid=unset— это не имя, а отсутствие login uid: цепочку начал не вошедший человек. Имя было бы, войди кто-то через консоль, ssh или cron.
auid=unset значит, что цепочку начала служба с загрузки, а не вошедший человек; comm/uid называют программу sed от root. Кто её запустил, покажет ppid.
Главное в шаге
-
Событие
ausearchсобирает из строк; главная —SYSCALLс процессом и пользователем. -
comm/exe— программа,uid— действующий пользователь,auid— кто вошёл (unsetу службы с загрузки). -
ppidведёт к родителю:ps -o unit= -p <ppid>называет службу, которая обратилась к файлу.