Может ли ядро ​​узнать, когда файл читается?

Во-первых, обратите внимание, что выполнение zip - $ (which zip) аналогично его выполнению как просто zip . Утилита и находит программный файл на пути пользователя.

При наличии Zip-архива zip добавит новых файлов, заменит существующих файлов, но не удалит файлов в архив, если эти файлы были удалены из файловой системы.

Чтобы удалить файл из Zip-архива:

$ zip -d archive.zip filename

Очевидно, вы также можете просто удалить архив с помощью rm перед его повторным созданием.

Для вашего сценария NodeJS вы можете использовать

rm -f ../data.zip && zip -r ../data.zip .

Флаг -f для rm заставляет rm не сбой, если архив не существует.

3
06.03.2017, 03:29
1 ответ

Чтение файла вызывает код ядра, поэтому ядро ​​всегда знает. Вопрос в том, как заставить его уведомлять вас.

В Linux вы можете использовать подсистему аудита . Запустите auditctl , чтобы добавить правило для отслеживания этого файла:

auditctl -w /path/to/specific/file

Событие отправляется в журналы аудита. Вы можете запросить отправку событий аудита по электронной почте, настроив audispd - см. Как отправлять журналы аудита с помощью audisp-remote и получать их с помощью netcat для примеров. В качестве альтернативы можно настроить электронную почту для отчетов об аудите; см. Скотт Пэк «Stump the Chump the Chump with Auditd 01» .

2
27.01.2020, 21:25

Теги

Похожие вопросы