Найти все изменения в файловой системе, сделанные процессом в Linux / Ma c? - PullRequest
0 голосов
/ 17 февраля 2020

Допустим, я собираюсь запустить программу Ma c, которая будет делать некоторые исправления в моем домашнем каталоге. Для запуска программы требуются права доступа ROOT, и я точно не знаю, что она делает, потому что у меня нет исходного кода.

Как просмотреть список всех изменений в файловой системе программа?

Я знаю, что могу вывести список открытых файлов по lsof -p pid. Но как мне ретроспективно увидеть все изменения, которые программа внесла во всю мою файловую систему?

Еще одна вещь, которая приходит на ум, - это использование find, но я этого не понял.

Дополнительный вопрос. Меняется ли pid, когда приложение получает права ROOT?

1 Ответ

1 голос
/ 25 февраля 2020

Вы можете использовать strace для записи всех действий, выполненных приложением. Фактически он может отследить все дочерние элементы, которые могут быть созданы исходной командой.

strace -o traces -ff ./your-app-to-trace

, при этом будет создано несколько файлов трассировки (по одному файлу на процесс). Затем вы можете выполнить их поиск, чтобы увидеть, какие файлы были затронуты и что им было записано.

...