%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D0%BB%D0%BE%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%B8%D0%BB%D0%B8%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83%20%D0%B2%20Solaris%3F.png)
Есть ли какой-либо инструмент или логи, которые могли бы дать информацию об этом? Кроме того, если нет возможности узнать вышеизложенное, то... могу ли я сделать что-то, что информирует меня, когда кто-то или какая-то служба пытается удалить папку.
решение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, поскольку вы не единственный, у кого такая потребность.