директива inotify —fromfile

#linux #security #inotify

#linux #Безопасность #inotify

Вопрос:

У меня есть система fedora 15 с оконным менеджером xfce.

Я установил утилиту inotify для воспроизведения.

Я хочу контролировать, что происходит с моими файлами во время моего рабочего процесса. Есть команда, которую я использую сегодня для запуска inotify

 inotifywait --fromfile ~/list.inotify
  

Эта команда легко считывает список папок и файлов для чтения и игнорирования.
Вот мой список (list.inotify)

 /home/alex

@/home/alex/Torrnets/
@/home/alex/.pulse-cookie
  

Таким образом, он должен прочитать мою домашнюю папку и игнорировать папку торрентов и файл .pulse-cookie.

Она также игнорирует торренты. Но это не будет игнорировать файл .pulse-cookie.

Есть решение для этого? (пожалуйста, не публикуйте решение для использования игнорирования на основе шаблонов, я хочу работать со списком файлов с абсолютным путем)

 $man inotify
   @<file>
          When watching a directory tree recursively, exclude the specified file from being watched.  The file must be specified with a relative or absolute path according to whether a relative or absolute path is given for watched directories.  If a  specific
          path is explicitly both included and excluded, it will always be watched.

          Note: If you need to watch a directory or file whose name starts with @, give the absolute path.

   --fromfile <file>
          Read filenames to watch or exclude from a file, one filename per line.  If filenames begin with @ they are excluded as described above.  If <file> is `-', filenames are read from standard input.  Use this option if you need to watch too many files to
          pass in as command line arguments.
  

Ответ №1:

Если вы не укажете -e аргумент, inotifywait будет вызван inotify_add_watch with IN_ALL_EVENTS , что приводит к возникновению событий для файлов внутри просматриваемых каталогов — обратите внимание, что inotify(7) говорит:

При мониторинге каталога события, отмеченные звездочкой (*) выше, могут происходить для файлов в каталоге, и в этом случае поле name в возвращаемой структуре inotify_event идентифицирует имя файла в каталоге.

Если вы взглянете на рассматриваемый код inotifywait, вы увидите, что он просматривает только каталоги (и проверяет список исключений на соответствие). Возможно, было бы немного удобнее для пользователя, если бы вы получали предупреждение при указании исключения, которое не является каталогом или тем, которое никогда не используется, но в настоящее время так оно и есть.