Я знаю, що це старе питання, але я запропоную інший підхід на випадок, якщо хтось вважає це корисним. Я спочатку розмістив це як відповідь на питання, яке було придушено до цього.
Одним із варіантів є використання sysdig
: додаток для моніторингу з відкритим кодом. Використовуючи його, ви можете відстежувати активність у файлі за назвою. Припустимо, ви хотіли подивитися, який процес створював файл з назвою /tmp/example.txt
:
# sysdig fd.name=/tmp/example.txt
567335 16:18:39.654437223 0 touch (5470) < openat fd=3(<f>/tmp/example.txt) dirfd=-100(AT_FDCWD) name=/tmp/example.txt flags=70(O_NONBLOCK|O_CREAT|O_WRONLY) mode=0666
567336 16:18:39.654438248 0 touch (5470) > dup fd=3(<f>/tmp/example.txt)
567337 16:18:39.654438592 0 touch (5470) < dup res=0(<f>/tmp/example.txt)
567338 16:18:39.654439629 0 touch (5470) > close fd=3(<f>/tmp/example.txt)
567339 16:18:39.654439764 0 touch (5470) < close res=0
567342 16:18:39.654441958 0 touch (5470) > close fd=0(<f>/tmp/example.txt)
567343 16:18:39.654442111 0 touch (5470) < close res=0
З цього виводу видно, що процес, названий touch
pid 5470, відкрив файл.
Якщо ви хочете отримати додаткову інформацію, ви можете запустити в «режимі захоплення», де збирається системний слід виклику:
# sysdig -w /tmp/dumpfile.scap
Потім зачекайте, коли файл буде створений, а потім зупиніться sysdig
та запустіть:
# csysdig -r /tmp/dumpfile.scap
Це дозволить вивчити все, що сталося. Ви можете натиснути <F2>
і вибрати Files
, натисніть <F4>
для пошуку імені файлу, а потім натисніть <F6>
на "копати" (що покаже вам вихід аналогічний команді, наведеній вище). З цим ви можете використовувати той же підхід, щоб знайти інформацію про процес, який фактично створив файл.
Існує версія GUI з csysdig
назвою sysdig-inspect
, якщо це більше ваша чашка чаю.