Если вы являетесь пользователем вашей системы, вы можете использовать функцию ядра аудита, чтобы получить максимальную информацию о том, кто / когда / что получил доступ / создал / изменил файлы. посмотрите этот учебник для примеров со вкусом Debian
Если у вас нет root-доступа, вы можете использовать crontab или скрипт с бесконечным циклом + sleep для запуска файлов lsof & grep в вашем homedir. Смотрите man-страницу lsof . Тем не менее, он будет отображать только те приложения, которые имеют файловый дескриптор, открытый в момент запуска lsof. Если приложение откроет файл, отредактирует его, затем закроет, вы не увидите этого изменения в lsof.
один-лайнер, как это должно сделать работу: lsof -u $(id -u) 2>/dev/null |grep -P $HOME'/[^\s]*$'
Другой способ - использовать API ядра inotify для проверки доступа к файлу. Увы, это асинхронная система, и у вас не будет таких деталей, как «какое приложение», «когда именно», «какой пользователь». У вас будет только обратный вызов «этот файл был изменен / доступен ...». Некоторые приложения (Inotify, FAM, Gamin) предоставляет вам простой доступ к API