Можно ли регистрировать каждый доступ к диску/каталогу?

Можно ли регистрировать каждый доступ к диску/каталогу?

Мне нужен скрипт, который будет регистрировать (просто выводить на консоль или в файл) каждый доступ к какому-либо диску или каталогу (у меня работает любой из них). Я также хотел бы знать, к чему именно (какой подкаталог или файл) был осуществлен доступ. Моя система — Ubuntu Linux. Возможно ли это и как это сделать?

решение1

Взгляните на inotify, это как раз то, для чего он и создан. У IBM есть более-менее приличное введение (хотя и несколько устаревшее) наhttp://www.ibm.com/developerworks/linux/library/l-inotify.html

решение2

Если вам нужно отслеживать действия одной программы с помощью простого скрипта-фильтра, то в целом обратите внимание на «auditd» SElinux.

http://en.wikipedia.org/wiki/Strace http://linux.die.net/man/8/auditd

Что касается Windows, посмотрите на filemon от ребят из SysInternals.

http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx

решение3

Вы можете использоватьинкрон, представляющий собой cron-подобный инструмент для событий файловой системы из inotify.

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

Настройка так же проста, как cron:

<path> <mask> <command>

Где:

  • <path>путь к файловой системе (каждый пробел должен предваряться обратной косой чертой)
  • <mask>символическая (см. inotify.h; используйте запятые для разделения символов) или числовая маска для событий
  • <command>это приложение или скрипт, запускаемый при возникновении событий

решение4

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

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

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