Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Слежение за файловой системой [РЕШЕНО]  (Прочитано 3306 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн chizh

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Общая задача: следить за записью файлов определенного типа в определенную папку(и ее подпапки).
Интересен момент окончания записи файлов с определенным расширением


Для чего это нужно: поднимаю сервак, для антивирусной защиты открутил сканер и апдейтер DrWeb от DrWeb Live CD (итого есть консольный сканер с обновлением и с халявным ключом до 2013 года), и прикрутил к серваку, но там нет монитора доступа.
Скрипт на еженочное сканирование и составление отчета готов, хотелось бы еще сделать автоскан только исполняемых файлов записаных только что.
Соответственно нужно, чтобы при записи в шару файлов (exe, com, bin, pif, bat, cmd) пинался скрипт сканирующий только записаный файл


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

===============================================================

Выношу результат исследований в 1й пост:

DrWed Scaner + Updater (ключ до 2013 года) + Файловый монитор на основе InotifyWait + Shell script
http://depositfiles.com/files/4e9fooc9a

DrWed Scaner + Updater (ключ до 2013 года) + Файловый монитор на основе "find newer file" - Shell script
http://depositfiles.com/files/m6vvch2t7

пробуйте/дорабатывайте/пользуйтесь кому интересно......................
« Последнее редактирование: 18 Ноября 2010, 01:11:55 от chizh »

Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Re: Слежение за файловой системой
« Ответ #1 : 20 Октября 2010, 01:54:44 »
incron.
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

Оффлайн chizh

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Слежение за файловой системой
« Ответ #2 : 20 Октября 2010, 02:04:07 »
COOL - то что нужно - ща затестю и сочиню скриптец - там вроде все оч просто получается

Пользователь решил продолжить мысль 20 Октября 2010, 19:22:14:
хотя не совсем COOL )))

за папкой к которой привязал следит идеально - а вот вложенные игнорит - гуглил эту тему - говорят incron рекурсивно работать не умеет (перечислять все папки не вариант - их много и они не постоянные)

пока гуглил по incron нарыл еще inotifywatch - он умеет рекурсивно - но в качестве результата возвращает только пути к папкам - как заставить его показывать полные пути к записанным файлам я так и не нашел. учитывая исключительно рекурсивную работу сканера сканировать каждую папку в которую не известно что записано не вариант

нужно или заставить incron работать рекурсивно, или inotifywatch возвращать имена записаных файлов........

ни или как вариант юзать что нибудь другое
« Последнее редактирование: 20 Октября 2010, 19:22:14 от chizh »

Оффлайн Silver_Foxy

  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Слежение за файловой системой (НЕ РЕШЕНО)
« Ответ #3 : 28 Октября 2010, 11:14:32 »
ну, как вариант,  inotifywatch находит путь, передаёт его incron.
а последний, в свою очередь выдаёт тебе полный путь  ;)

вот тебе и простенький скриптец )))
Linux Mint9 (10.04)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Слежение за файловой системой
« Ответ #4 : 28 Октября 2010, 11:23:39 »
за папкой к которой привязал следит идеально - а вот вложенные игнорит
Дану нафиг? У меня крутится запись в нём, которая меняет группу у файлов и вроде нет никаких проблем со вложенностью:
/var/www/0x0000.ru/ IN_CREATE chgrp 0x0000.ru $@$#
/var/log/apache2/0x0000.ru/ IN_CREATE chgrp 0x0000.ru $@$#

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: Слежение за файловой системой (НЕ РЕШЕНО)
« Ответ #5 : 28 Октября 2010, 11:31:04 »
Цитировать
пока гуглил по incron нарыл еще inotifywatch - он умеет рекурсивно - но в качестве результата возвращает только пути к папкам - как заставить его показывать полные пути к записанным файлам я так и не нашел
отлично, в данных путях с помощью find ищешь что-то типа
find -regextype posix-extended -regex ".*\.exe$|.*\.bat$|.*\.com$" -ctime -1man find до просветления, если что. ну и далее while ... do или там for, короче, цикл завернуть
Цитировать
за папкой к которой привязал следит идеально - а вот вложенные игнорит - гуглил эту тему - говорят incron рекурсивно работать не умеет (перечислять все папки не вариант - их много и они не постоянные)
что-то типа
find -type d | while read d ; do echo "$d IN_CREATE /home/user/script" ; done | incrontab -где /home/user/script содержит требуемое действие, а в конце совершает вышеописанное. т.е. после каждого отслеживаемого события incrontab перестраивается с учетом обновленной структуры папок. впрочем, можно и подвесить так все к чертям)))
Цитировать
Дану нафиг? У меня крутится запись в нём, которая меняет группу у файлов и вроде нет никаких проблем со вложенностью:
хм... у меня не работал. на действия в самой папке реагировал, во вложенных - нет. сабж на Debian testing.
« Последнее редактирование: 28 Октября 2010, 11:34:23 от dimas000 »
лучше на "ты"

Оффлайн Silver_Foxy

  • Любитель
  • *
  • Сообщений: 50
    • Просмотр профиля
Re: Слежение за файловой системой
« Ответ #6 : 28 Октября 2010, 11:43:12 »
Цитировать
пока гуглил по incron нарыл еще inotifywatch
ты хоть пиши правильное название пакетов
inotify-tools
Linux Mint9 (10.04)

Оффлайн chizh

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Слежение за файловой системой (РЕШЕНО)
« Ответ #7 : 18 Ноября 2010, 00:52:19 »
Думал что тема ужо умерла - а тут вдруг ответы заметил...........

вобщем общаясь с народом на Линукс Форуме нашел 2 варианта решения задачи

1) inotifywait: следим за папкой с помощью inotifywait GREPаем вывод - пишем в список, другим скриптом раз в определенное время проверяем список - если не пуст, сканим по списку

inotifywait DrWeb
http://depositfiles.com/files/4e9fooc9a

2) find: каждое определенное время ищем все файлы новее старого списка файлов с помощью find с опциями newer <file> и cnewer <file> - пишем их в новый список, если список не пуст - сканим по списку

find DrWeb
http://depositfiles.com/files/m6vvch2t7

 

Страница сгенерирована за 0.017 секунд. Запросов: 20.