Как узнать, кто или что (служба) удалило определенный файл или папку в Solaris?

Как узнать, кто или что (служба) удалило определенный файл или папку в Solaris?

Есть ли какой-либо инструмент или логи, которые могли бы дать информацию об этом? Кроме того, если нет возможности узнать вышеизложенное, то... могу ли я сделать что-то, что информирует меня, когда кто-то или какая-то служба пытается удалить папку.

решение1

Этот небольшой скрипт Dtrace легко зарегистрирует каждое удаление файла в системе:

dtrace -qn 'syscall::unlink*:entry { printf("%d, %s, %s\n", uid, execname, copyinstr(arg0));}
syscall::fsat:entry  /arg0 == 5 / { printf("%d, %s, %s\n", uid, execname, copyinstr(arg2));}'

решение2

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

Если вам нужно такое приложение, то, возможно, стоит задать вопрос на StackOverflow, поскольку вы не единственный, у кого такая потребность.

Связанный контент