Это команда iwatch, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
iwatch - программа мониторинга файловой системы в реальном времени с использованием inotify
СИНТАКСИС
iwatch [-d] [-f ] [-v] [-p ]
iwatch [-c команду] [-C кодировок] [-e событие [, событие [, ..]]] [-h|--Помогите] [-m ]
[-r] [-s ] [-t ] [-v] [--версия] [-x исключение]
[-X <регулярное выражение string as исключение>]
ОПИСАНИЕ
inotify (inode notify) - это подсистема ядра Linux, которая отслеживает события в файловых системах и
сообщает об этих событиях приложениям в режиме реального времени.
inotify можно использовать для мониторинга отдельных файлов или каталогов. Когда каталог
отслеживается, inotify будет возвращать события для самого каталога и для файлов внутри этого каталога.
каталог. Поддержка inotify была добавлена в ядро Linux 2.6.13.
iWatch - это оболочка Perl для inotify для отслеживания изменений в определенных каталогах или файлах,
отправка тревоги системному администратору в режиме реального времени. Оно может:
· Отправлять уведомления об изменениях по электронной почте.
· Немедленно предпринимайте программируемые действия, as отправлять оповещения через сообщения XMPP,
WhatsApp или выполнить локальную программу или скрипт.
· Действовать as HIDS (Host-based Intrusion Detection System) или средство проверки целостности,
дополняя локальные системы межсетевых экранов.
iWatch может работать as демон as ну простой команду. Режим демона использует XML
файл конфигурации и поместите список каталогов и файлов (целей) для мониторинга. В
команду строчный режим будет работать без файла конфигурации. Вам просто нужно поставить
необходимая информация (цель для просмотра, электронная почта, исключение, рекурсивность, отслеживаемые события
и команду выполнить) в команду линия. Параметры для обоих режимов нельзя смешивать
одновременно.
В файле конфигурации XML у каждой цели может быть своя собственная точка контакта по электронной почте. Этот
Контактное лицо получит уведомление по электронной почте о любых изменениях в отслеживаемых целях. Ты
может рекурсивно отслеживать каталог, а также вы можете настроить список исключений, в которых вы
не хотят отслеживать каталог / файл внутри отслеживаемого каталога. Также возможно
отключить уведомление по электронной почте и вместо этого настроить команду будет выполнено, если произойдет событие.
По умолчанию iWatch отслеживает только следующие события: close_write, create, delete, move,
delete_self и move_self. Но вы можете указать любые возможные события, такие как доступ, атрибут,
изменить или all_events. См. Более подробную информацию в разделе СОБЫТИЯ.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Использование режима демона (фона) iWatch:
-d Запустить заявку as демон. iWatch будет работать без этого
опцию.
-f
Укажите альтернативный файл конфигурации. По умолчанию / Etc /iwatch/iwatch.xml.
-p
Укажите альтернативный файл pid. По умолчанию: /var/run/iwatch.pid.
-v Будьте многословны.
Использование для команду линейный режим (передний план) iWatch:
-c <команду>
Вы можете указать команду будет выполнено, если произойдет событие. Подробности
о доступных строках см. в разделе СТРОКИ ДЛЯ КОМАНДЫ.
-C <кодировок>
Укажите кодировок (по умолчанию utf-8).
-e
Укажите список событий, которые хотите посмотреть. Подробнее о возможных
события, загляните в раздел СОБЫТИЯ.
-час, --Помогите
Распечатать справочное сообщение.
-m
Электронный адрес контактного лица. Без этой опции iWatch не будет отправлять
Уведомление по электронной почте.
-r Рекурсивность при просмотре каталога.
-s вкл | выкл
Включение или отключение отчетов в системный журнал (по умолчанию отключено / отключено).
-t
Укажите фильтр string (регулярное выражение) для сравнения с именем файла или каталогом
имя. Он будет сообщать о событиях, только если имя файла / каталога совпадает с
фильтр string. Это полезно, если вы хотите посмотреть файл вроде / И т.д. / пароль or
/ etc / shadow. Вместо просмотра этого единственного файла просто смотрите / и т.д.
каталог с filter = "passwd | shadow", потому что если вы смотрите только
passwd / shadow, наблюдатель будет удален после одного изменения этого
файл, и вы не получите другого уведомления. Это вызвано
приложение, которое изменяет passwd или shadow (например, passwd или chfn), они не
изменить файлы напрямую, но создать новый файл и переместить его в passwd или
теневой файл. Итак, это команду удалит индексный дескриптор и, следовательно,
наблюдающий.
-v Подробный режим. Эта опция покажет основное текущее действие.
--версия
Выведите номер версии.
-x <исключение файл or каталог>
Укажите файл или каталог, за которым не следует смотреть.
-X <регулярное выражение string as исключение>
Похожий на что -x но указав регулярное выражение string as исключение.
НИТИ Для КОМАНДА
При использовании '-c <команду> ', будут доступны следующие строки:
%c Номер файла cookie события.
%e Название события.
%f Полный путь к имени файла, в котором происходит событие.
%F Старое имя файла в случае move_to event.
%p Название программы (iWatch).
%v Номер версии.
СОБЫТИЯ
Ниже приведены возможные события, которые можно использовать с '-e' вариант:
доступ был открыт доступ к файлу.
аттрибута изменены атрибуты файла.
Закрыть файл закрыт, независимо от режима чтения / записи.
close_nowrite
файл закрыт после открытия в режиме только для чтения.
close_write
файл закрыт после открытия в режиме записи.
Создайте файл был создан в наблюдаемом каталоге.
удалять файл был удален в наблюдаемом каталоге.
delete_self
наблюдаемый файл был удален.
игнорируются
файл был проигнорирован.
Исдир событие произошло против реж.
изменять файл был изменен.
двигаться файл / каталог в наблюдаемом каталоге был перемещен.
переехал из
файл был перемещен из.
переехал в
файл был перемещен в.
OneShot
отправлять событие только один раз.
открытый файл был открыт.
q_overflow
очередь событий переполнена.
размонтировать
файловая система, в которой существует отслеживаемый файл, была отключена.
по умолчанию
close_write, создать, удалить, переместить, delete_self и move_self.
all_events
все события.
КОМАНДА ЛИНИЯ ИСПОЛЬЗОВАНИЕ ПРИМЕРЫ
$ iwatch / Tmp
Отслеживайте изменения в / Tmp каталог с событиями по умолчанию.
$ iwatch -r -e доступ, создать -m [электронная почта защищена] -x / etc / mail / и т.д.
Мониторинг только доступа и создание событий в / и т.д. каталог, рекурсивно, с
/ etc / mail as исключениеи отправьте уведомление по электронной почте на адрес [электронная почта защищена].
$ iwatch -r -c (ш; пс -ef) | mail -s '% f законопроект измененный' корень @ localhost / бен
монитор / бен каталог рекурсивно и выполните команды 'w' и 'ps -эф',
отправка результатов в root @ localhost, используя ' был изменен' as
тема. Чтобы узнать о "% f", загляните в раздел СТРОКИ ДЛЯ КОМАНДЫ.
$ iwatch -r -X '.svn' ~ / проекты
монитор ~ / проекты каталог, рекурсивно, но исключая любые каталоги .svn внутри.
Этого нельзя сделать с обычным-x'вариант с'-x'может исключить только
определенный путь.
КОНФИГУРАЦИЯ ФАЙЛОВ ПРИМЕР
Файл конфигурации по умолчанию: / Etc /iwatch/iwatch.xml. См. Пример:
<адрес электронной почты охранника="[электронная почта защищена]"name =" iWatch "/>
Мониторинг целостности WEB-сервера
<адрес электронной почты контактной точки="[электронная почта защищена]"name =" Администратор "/>
<path type="recursive" syslog="on" alert="off" exec="echo %p: %e %f | /usr/bin/sendxmpp -t [электронная почта защищена]">/ Вар / WWW
/ var / www / counter
Две первые строки будут определять версию XML и файл, который определяет используемый шаблон.
от iWatch (по умолчанию / Etc /iwatch/iwatch.dtd). Эти строки менять не нужно.
В Оператор используется для обозначения начальной точки конфигурации. Последняя строка
конфигурация должна быть . Строка "защитный адрес электронной почты" используется для указания отправителя.
адрес электронной почты и имя, которое будет использоваться при отправке уведомлений по электронной почте. Другими словами, эта строка
определяет поле электронной почты "От:". В разграничивает блок
определения часов или некоторых процедур с часами.
В место может иметь несколько блоки. Внутри этих
блоки ( ), пробел используется для добавления заголовка, который
определит назначение блока. Строка 'contactpoint' содержит пункт назначения
адрес электронной почты (To :) и имя при отправке уведомлений по электронной почте.
Каждый строка может контролировать файл / каталог и выполнять действия. Первый путь
Показанная строка будет рекурсивно отслеживать каталог / var / www. Поскольку никакие события не были определены,
iWatch будет использовать событие по умолчанию (close_write, create, delete, move, delete_self и
события move_self). Если событие происходит, системный журнал зарегистрирует его и сообщит сообщение.
имя программы (% p = iWatch), событие (% e) и имя отслеживаемого файла / каталога (% f)
будет отправлено по протоколу XMPP (внешняя программа sendxmpp) на [электронная почта защищена], Обратите внимание, что
alert = "off" отключит отправку писем. Еще один важный момент - вторая строка
исключает из наблюдения каталог / var / www / counter file /.
Показанный пример использует sendxmpp команду. Другая хорошая возможность - применить
yowsup-кли команду для отправки сообщений WhatsApp.
Новый пример. С конфигурацией, показанной ниже, iWatch будет работать более трех
блоки.
Общедоступный веб-сайт
<адрес электронной почты контактной точки="[электронная почта защищена]"name =" WebMaster "/>
/ var / www / localhost / htdocs
/ var / www / localhost / htdocs / О программе
/ var / www / localhost / htdocs / Фото
Операционная система
/ и т.д. / apache2
/ И т.д. / пароль
/ etc / mail
/ и т. д. / почта / статистика
/ и т.д.
Только тест
/ tmp / dir1
/ tmp / dir2
/ tmp / dir3
/ tmp / dir4
Первое блок контролирует каталоги и имеет специальные действия для двух файлов
но не выполнять команду ни в одном из них. Первый путь - одинарный (не рекурсивный)
каталог / var / www / localhost / htdocs, и любое уведомление будет отправлено в контактную точку
[электронная почта защищена]. Обратите внимание, что события не указаны. Итак, по умолчанию (close_write,
create, delete, move, delete_self и move_self). Второй путь - это файл
/ var / www / localhost / htdocs / About. Этот файл находится в последней директории. Различия
заключается в том, что все действия с этим файлом будут регистрироваться в / var / log / syslog. Третий путь
будет рекурсивно отслеживать каталог / var / www / localhost / htdocs / Photos (также внутри
первый каталог). Нет журнала. Уведомления о событиях по умолчанию будут отправлены по почте.
Второй блок имеет пять мониторингов. Все уведомления будут отправлены на admin @ localhost.
Основное новшество по сравнению с первым блоком заключается в том, что путь использует инструкцию «фильтра» для просмотра
/ И т.д. / тень и / И т.д. / пароль в то же время. Чтобы лучше понять эту ситуацию, см.
'-t'в разделе ОПЦИИ.
Последний блок отслеживает событие по умолчанию в первой строке и несколько событий не по умолчанию в
следующие три строки. Во всех строках определено предупреждение. as 'выключенный'. Итак, iWatch будет
не отправлять электронные письма, используя встроенный почтовый движок. Однако в трех строчках внешнее
команду «mail» использовалось для отправки персонализированных писем.
ОБУЧЕНИЕ О КОМПАНИИ СОБЫТИЯ
Совет, чтобы узнать о событиях, - посмотрите iWatch команду выполнение с помощью '-e all_events '
вариант. В следующем примере будет отслеживаться 'ls / Tmp' команду.
$ iwatch -e все_события / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_OPEN / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_CLOSE_NOWRITE / Tmp
Другой пример, который отслеживает создание файла внутри / Tmp:
$ iwatch -e все_события / Tmp
[17 июня 2014 г., 11:29:43] IN_MODIFY /tmp/file.txt
[17 июня 2014 г., 11:29:43] IN_OPEN /tmp/file.txt
[17 июня 2014 г., 11:29:43] IN_MODIFY /tmp/file.txt
[17 июня 2014 г., 11:29:43] IN_CLOSE_WRITE /tmp/file.txt
[17 июня 2014 г., 11:29:43] * /tmp/file.txt закрыт
Итак, в последнем примере произошли действия: modify, open и close_write.
ПРАВИЛА ПРОВЕРКА
Начиная с версии 0.2.0 iWatch проверяет достоверность XML-файла, если он имеет следующую запись в
первые две строки:
Проверка будет производиться по схеме, описанной / Etc /iwatch/iwatch.dtd файл. Без
показанные две строки, iWatch просто выдаст предупреждение о том, что вы должны использовать файл DTD, и
он продолжает работать as нормально без проверки XML. XML-формат iWatch очень
простой и понятный, и он использует следующее DTD:
<!ATTLIST конфигурация
кодировка CDATA "utf-8"
>
<!ATTLIST охранник
электронная почта CDATA # ТРЕБУЕТСЯ
имя CDATA # ПРЕДПОЛАГАЕТСЯ
>
<!ATTLIST контактное лицо
электронная почта CDATA # ТРЕБУЕТСЯ
имя CDATA # ПРЕДПОЛАГАЕТСЯ
>
<!ATTLIST путь
введите CDATA # ТРЕБУЕТСЯ
оповещение (вкл | выкл) «выкл»
события CDATA # ПРЕДПОЛАГАЕТСЯ
exec CDATA # ПРЕДПОЛАГАЕТСЯ
filter CDATA # ПРЕДПОЛАГАЕТСЯ
системный журнал (вкл | выкл) «выкл»
Используйте iwatch онлайн с помощью сервисов onworks.net