iwatch - En ligne dans le Cloud

Il s'agit de la commande iwatch qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


iwatch - programme de surveillance du système de fichiers en temps réel utilisant inotify

SYNOPSIS


iwatch [-d] [-f ] [-v] [-p ]
iwatch [-c commander] [-C jeu de caractères] [-e événement[,événement[,..]]] [-h|--Aidez-moi] [-m ]
[-r] [-s ] [-t ] [-v] [--version] [-x exception]
[-X <expression régulière string as exception>]

DESCRIPTION


inotify (inode notify) est un sous-système du noyau Linux qui surveille les événements dans les systèmes de fichiers et
signale ces événements aux applications en temps réel.

inotify peut être utilisé pour surveiller des fichiers ou des répertoires individuels. Lorsqu'un répertoire est
surveillé, inotify renverra des événements pour le répertoire lui-même et pour les fichiers à l'intérieur de ce
annuaire. La prise en charge d'inotify a été ajoutée au noyau Linux 2.6.13.

iWatch est un wrapper Perl à notifier pour surveiller les changements dans des répertoires ou des fichiers spécifiques,
envoi d'alarme à l'administrateur système en temps réel. Ça peut:

· Envoyer des notifications par e-mail sur les modifications.

· Effectuez des actions programmables immédiatement, as émettre des alertes via des messages XMPP,
WhatsApp ou exécutez un programme ou un script local.

· Agir as HIDS (Host-based Intrusion Detection System) ou un vérificateur d'intégrité,
complétant les systèmes de pare-feu locaux.

iWatch peut fonctionner as démon, as bien un simple commander. Le mode démon utilise un XML
de configuration et placez une liste de répertoires et de fichiers (cibles) à surveiller. Les
commander le mode ligne fonctionnera sans fichier de configuration. Il vous suffit de mettre le
informations nécessaires (cible à surveiller, e-mail, exception, récursivité, événements à surveiller
et commander exécuter) dans le commander ligne. Les options pour les deux modes ne peuvent pas être mélangées
ensemble.

Dans le fichier de configuration XML, chaque cible peut avoir son propre point de contact email. Cette
Le point de contact recevra une notification par e-mail pour tout changement dans les cibles surveillées. Tu
pouvez surveiller un répertoire de manière récursive, et vous pouvez également configurer une liste d'exceptions où vous
ne voulez pas surveiller le répertoire/fichier à l'intérieur d'un répertoire surveillé. Il est également possible de
désactiver la notification par e-mail et configurer à la place un commander à exécuter si un événement se produit.
Par défaut, iWatch ne surveille que les événements suivants : close_write, create, delete, move,
delete_self et move_self. Mais vous pouvez spécifier tous les événements possibles, comme access, attrib,
modifier ou all_events. Voir la section ÉVÉNEMENTS pour plus de détails.

OPTIONS


Utilisation pour le mode démon (arrière-plan) d'iWatch :

-d Exécuter l'application as démon. iWatch fonctionnera au premier plan sans cela
option.

-f
Spécifiez un autre fichier de configuration. La valeur par défaut est / Etc /iwatch/iwatch.xml.

-p
Spécifiez un autre fichier pid. Par défaut : /var/run/iwatch.pid.

-v Soyez verbeux.

Utilisation pour commander mode ligne (premier plan) d'iWatch :

-c <commander>
Vous pouvez spécifier un commander à exécuter si un événement se produit. Pour plus de détails
concernant les chaînes disponibles, consultez la section STRINGS FOR COMMAND.

-C <jeu de caractères>
Spécifie le jeu de caractères (la valeur par défaut est utf-8).

-e
Spécifiez une liste d'événements que vous souhaitez regarder. Pour plus de détails sur les possibles
événements, consultez la section ÉVÉNEMENTS.

-h, --Aidez-moi
Imprimer le message d'aide.

-m
Adresse e-mail du point de contact. Sans cette option, iWatch n'enverra aucun
notification par courrier électronique.

-r Récursivité lors de la visualisation d'un répertoire.

-s on | off
Activez ou désactivez les rapports vers le journal système (la valeur par défaut est désactivée/désactivée).

-t
Spécifiez un filtre string (regex) à comparer avec le nom de fichier ou le répertoire
Nom. Il ne rapportera les événements que si le nom du fichier/répertoire correspond au
une fonction filtre string. C'est utile si vous voulez regarder un fichier comme / Etc / passwd or
/etc/ombre. Au lieu de regarder ce fichier unique, regardez simplement le / Etc
répertoire avec filter="passwd|shadow", car si vous ne regardez que le
passwd/shadow, l'observateur sera supprimé après une modification de ce
fichier et vous ne recevrez pas d'autre notification. Ceci est causé par le
application qui change passwd ou shadow (par exemple passwd ou chfn), ils ne
modifiez les fichiers directement, mais créez un nouveau fichier et déplacez-le vers passwd ou
fichier fantôme. Donc ça commander supprimera l'inode et donc le
observateur.

-v Mode verbeux. Cette option affichera l'action principale en cours.

--version
Imprimez le numéro de version.

-x <exception filet or répertoire>
Spécifiez le fichier ou le répertoire qui ne doit pas être surveillé.

-X <expression régulière string as exception>
Similaire à -x mais en spécifiant une regex string as exception.

STRINGS POUR LES CANADIENS COMMAND


Lorsque vous utilisez le '-c <commander>', ces chaînes seront disponibles :

%c Numéro de cookie d'événement.

%e Nom de l'événement.

%f Chemin complet du nom de fichier qui obtient un événement.

%F L'ancien nom de fichier en cas d'événement move_to.

%p Nom du programme (iWatch).

%v Numéro de version.

ÉVÈNEMENTS


Voici les événements possibles que vous pouvez utiliser avec le '-e'option :

accès fichier a été consulté.

attrib les attributs du fichier ont changé.

close fichier fermé, quel que soit le mode de lecture/écriture.

close_nowrite
fichier fermé, après avoir été ouvert en mode lecture seule.

fermer_écrire
fichier fermé, après avoir été ouvert en mode inscriptible.

créer des un fichier a été créé dans le répertoire surveillé.

delete un fichier a été supprimé dans le répertoire surveillé.

supprimer_self
le fichier surveillé a été supprimé.

ignoré
fichier a été ignoré.

isdir l'événement s'est produit contre dir.

modifier fichier a été modifié.

Bougez un fichier/répertoire dans le répertoire surveillé a été déplacé.

bouger de
fichier a été déplacé de.

déplacé_vers
fichier a été déplacé vers.

un tir
envoyer l'événement une seule fois.

ouvert fichier a été ouvert.

q_overflow
l'événement en file d'attente a débordé.

démonter
le système de fichiers sur lequel le fichier surveillé existe a été démonté.

défaut
close_write, create, delete, move, delete_self et move_self.

tous les évènements
tous les évènements.

COMMAND LINE UTILISATION EXEMPLES


$ iwatch / Tmp
Surveiller les changements dans / Tmp répertoire avec les événements par défaut.

$ iwatch -r -e accéder, créer -m racine@exemple.com -x /etc/mail / Etc
Surveiller uniquement l'accès et créer des événements dans / Etc répertoire, récursivement, avec
/etc/mail as exception, et envoyer une notification par e-mail à racine@exemple.com.

$ iwatch -r -c (w; ps -ef)|courrier -s '%F a été élaboré modifié' root @ localhost / bin
Écran tactile / bin répertoire, récursivement, et exécutez les commandes 'w' et 'ps -si',
envoyer les résultats à root@localhost, en utilisant ' a été changé' as
matière. Pour en savoir plus sur '%f', jetez un œil à la section STRINGS FOR COMMAND.

$ iwatch -r -X '.svn' ~/projets
Écran tactile ~/projets répertoire, de manière récursive, mais excluez tous les répertoires .svn à l'intérieur.
Cela ne peut pas être fait avec un ' normal-x'option depuis'-x' ne peut qu'exclure le
chemin défini.

CONFIGURATION DOSSIER EXEMPLE


Le fichier de configuration par défaut est / Etc /iwatch/iwatch.xml. Voir un exemple :





<e-mail de garde="racine@exemple.com" name="iWatch"/>

Surveillance de l'intégrité du serveur WEB
<e-mail du point de contact="quelqu'un@exemple.com" name="Administrateur"/>
<path type="recursive" syslog="on" alert="off" exec="echo %p : %e %f | /usr/bin/sendxmpp -t foo@jabber-br.org">/ Var / www
/var/www/compteur



Les deux premières lignes définiront la version XML et le fichier qui définit le modèle utilisé
par iWatch (la valeur par défaut est / Etc /iwatch/iwatch.dtd). Ces lignes n'ont pas besoin d'être modifiées.

Les est utilisée pour marquer le point de départ de la configuration. La dernière ligne du
la configuration doit être . La ligne 'guard email' est utilisée pour spécifier l'expéditeur
e-mail et nom à utiliser lors de l'envoi de notifications par e-mail. Autrement dit, cette ligne
définit le champ de courrier électronique « De : ». Les délimite un bloc de
définitions sur une montre ou certaines procédures de montres.

Les l'endroit peut avoir plusieurs blocs. A l'intérieur de ces
blocs ( ), les l'espace est utilisé pour ajouter un titre qui
identifiera le but du blocage. La ligne 'contactpoint' contient la destination
adresse e-mail (À :) et nom lors de l'envoi de notifications par e-mail.

Chaque line peut surveiller un fichier/répertoire et exécuter des actions. Le premier chemin
La ligne affichée surveillera récursivement le répertoire /var/www. Comme aucun événement n'a été défini,
iWatch utilisera l'événement par défaut (close_write, create, delete, move, delete_self et
événements move_self). Si un événement se produit, le syslog l'enregistrera et un message rapportera
le nom du programme (%p = iWatch), l'événement (%e) et le nom du fichier/répertoire surveillé (%f)
sera envoyé via le protocole XMPP (programme externe sendxmpp) à foo@jabber-br.org. Noter que
alert="off" désactivera tout envoi d'e-mail. Un autre point important est qu'une deuxième ligne
exclut le fichier/répertoire /var/www/counter de l'observation.

L'exemple montré utilise le sendxmpp commander. Une autre bonne possibilité est d'appliquer le
yowsup-cli commander pour envoyer des messages WhatsApp.

Un nouvel exemple. Avec la configuration indiquée ci-dessous, iWatch fonctionnera sur trois
Blocs.







Site Web public
<e-mail du point de contact="webmaster@exemple.com" name="WebMaster"/>
/var/www/localhost/htdocs
/var/www/localhost/htdocs/À propos
/var/www/localhost/htdocs/Photos


Système opérateur

/ etc / apache2
/ Etc / passwd
/etc/mail
/etc/mail/statistiques
/ Etc


Tester uniquement

/tmp/dir1
/tmp/dir2
/tmp/dir3
/tmp/dir4



La première block surveille un répertoire et a des actions spéciales pour deux fichiers
mais pas d'exécuter un commander dans aucun d'eux. Le premier chemin est un simple (non récursif)
répertoire /var/www/localhost/htdocs et toute notification sera envoyée au point de contact
webmaster@exemple.com. Notez qu'aucun événement n'est spécifié. Ainsi, la valeur par défaut (close_write,
create, delete, move, delete_self et move_self) seront utilisés. Le deuxième chemin est le fichier
/var/www/localhost/htdocs/About. Ce fichier se trouve dans le dernier répertoire. La différence
est que toutes les activités sur ce fichier seront enregistrées dans /var/log/syslog. Le troisième chemin
surveillera, récursivement, le répertoire /var/www/localhost/htdocs/Photos (également à l'intérieur de
le premier répertoire). Pas de journal. Les événements par défaut seront notifiés par courrier.

Le deuxième bloc a cinq surveillances. Toutes les notifications seront envoyées à admin@localhost.
La principale nouveauté par rapport au premier bloc est qu'un chemin utilise une instruction « filtre » pour surveiller
/ etc / shadow et / Etc / passwd à la fois. Pour mieux comprendre cette situation, consultez le
'-t' dans la section OPTIONS.

Le dernier bloc surveille un événement par défaut en première ligne et plusieurs événements non par défaut dans
les trois lignes suivantes. Dans toutes les lignes, l''alerte' est définie as 'désactivé'. Ainsi, iWatch va
ne pas envoyer d'e-mails à l'aide du moteur de messagerie intégré. Cependant, sur trois lignes, l'externe
commander 'mail' était utilisé pour envoyer des e-mails personnalisés.

PLATEFORME A PROPOS ÉVÈNEMENTS


Une astuce pour en savoir plus sur les événements est de regarder l'iWatch commander exécution avec '-e tous les évènements'
option. L'exemple suivant surveillera un 'ls / Tmp' commander.

$ iwatch -e tous les événements / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_OPEN / Tmp
[17/Jun/2014 11:22:59] IN_ISDIR,IN_CLOSE_NOWRITE / Tmp

Un autre exemple, qui surveille la création d'un fichier à l'intérieur / Tmp:

$ iwatch -e tous les événements / Tmp
[17/juin/2014 11:29:43] IN_MODIFY /tmp/file.txt
[17/juin/2014 11:29:43] IN_OPEN /tmp/file.txt
[17/juin/2014 11:29:43] IN_MODIFY /tmp/file.txt
[17/juin/2014 11:29:43] IN_CLOSE_WRITE /tmp/file.txt
[17/Jun/2014 11:29:43] * /tmp/file.txt est fermé

Ainsi, dans le dernier exemple, des actions de modification, d'ouverture et de fermeture_écriture se sont produites.

DES RÈGLES la VALIDATION


Depuis la version 0.2.0, iWatch vérifie la validité du fichier XML s'il a l'entrée suivante dans
les deux premières lignes :




Le contrôle sera effectué sur un modèle décrit par / Etc /iwatch/iwatch.dtd fichier. Sans
les deux lignes affichées, iWatch vous avertira simplement que vous devez utiliser le fichier DTD, et
ça continue de tourner as normal sans validation XML. Le format XML de l'iWatch est très
simple et facile à comprendre, et il utilise les DTD suivantes :


Configuration <!ATTLIST
jeu de caractères CDATA "utf-8"
>

Garde <!ATTLIST
email CDATA #REQUIS
nom CDATA #IMPLICITE
>



<!ATTLISTpoint de contact
email CDATA #REQUIS
nom CDATA #IMPLICITE
>

Chemin <!ATTLIST
tapez CDATA #REQUIS
alerte (on|off) "off"
événements CDATA #IMPLICITE
exec CDATA #IMPLICITE
filtre CDATA #IMPLICITE
syslog (on|off) "off"

Utiliser iwatch en ligne en utilisant les services onworks.net



Derniers programmes en ligne Linux et Windows