Vartan Katchikian Vartan Katchikian option -c ? création ? ou redirection sur la sortie standard sous-entendu que la création de la base de données est implicite ? Et dans ce dernier cas, est ce que l'option -f rend implicite la CONSULTATION (par opposition à la création) de la base de données ? Explication donnée pour -c : print a specification for the file hierarchy to the standard output vérifier l'intégrité des fichiers après un crash après une intrusion (distante ou locale, ne serait ce quelqu'un parmi ses collègues ou sa famille) le détail des modifications intervenues après la mise à jour d'un programme ou son installation comparer le contenu de supports amovibles (deux CD sont-ils différents ? ) base pour un outil de synchronisation mtree -c [ -K cksum ] > fichier_de_référence => enregistre un checksum EN PLUS des autres valeurs consultées par défaut VERIFICATION mtree -f fichier_de_référence (FAUT-IL REDONNER LES OPTIONS SUPPLEMENTAIRES COMME -K cksum ? ) => a priori non. Essai fait, c'est bien NON ! options à mentionner : -U pour corriger -e pour le web hosting -r nettoyage -x pour éviter les mount points -U Modify the owner, group and permissions of existing files to match the specification and create any missing directories or symbolic links. User, group and permissions must all be specified for miss- ing directories to be created. Corrected mismatches are not con- sidered errors. -u Same as -U except a status of 2 is returned if the file hierarchy did not match the specification. -e Don't complain about files that are in the file hierarchy, but not in the specification. -r Remove any files in the file hierarchy that are not described in the specification. quid des chiffrements MD5, SHA1 et RIPEMD160 ? => NON (marrant l'histoire de la man page en parle pourtant) quid de /etc/mtree ? PAS SUR MAC OS X ! quid du traitement des chflags ? A PRIORI oui ==== Le surveillant inquisiteur de vos fichiers N'avez-vous jamais ressenti une grande lassitude après le crash de votre ordinateur ayant entraîné de probables disparitions de documents de ne pouvoir désigner avec certitude l'ensemble des fichiers manquants. Pire, n'êtes-vous pas tout autant angoissé à l'idée que certains fichiers encore visibles ont pu être endommagés sans qu'il vous soit possible de le démontrer pas plus que le démentir formellement ? Si vous êtes responsable d'une et a fortiori de plusieurs machines accessibles en réseau, que ce dernier soit Internet ou juste local, n'avez-vous jamais éprouvé cette sourde inquiétude qu'une personne malveillante puisse altérer vos données ou modifier les programmes pour y dissimuler un espion ou même un cheval de troie (trojan horse) ? Dans un tout autre registre, bien moins effrayant celui-ci, n'avez-vous jamais été curieux de savoir quels étaient les fichiers ajoutés ou actualisés par une mise à jour du système d'exploitation ou de tout autre logiciel ? Prendre une empreinte sudo mtree -c -x -K cksum -p / > ~/Desktop/empreinte_mtree_du_volume_racine_13_septembre_2003 Pour jouer son rôle de notaire??contrôleur, mtree à besoin de prendre une "photographie" de votre système de fichiers. On exécute mtree sous la responsabilité de la commande sudo afin d'avoir les droits du super utilisateur de la machine (root) et ainsi pouvoir accéder à n'importe quel fichier. L'option -x évite la consultation des autres volumes (partitions ou médias amovibles) qui pourraient être montés. En plus de l'enregistrement des méta-données comme la date, la taille, ..., qui caractérisent chaque fichier et qui vont constituer sa base d'informations, l'option -K stipule à mtree d'enregistrer aussi une somme de contrôle pour chacun des fichiers. Ce calcul est réalisé à l'aide de la commande cksum (d'où le nom du paramètre) et prend en compte tous les octets qui composent les données du fichier. Si le moindre bit de donnée est changé par la suite, le résultat de ce "checksum" diffèrera. L'option -p (pour path, "chemin") permet de désigner une arborescence à traiter, ici la racine, éventuellement autre que le dossier depuis lequel vous lancez la commande et qui est sinon utilisé comme point de départ par défaut. Enfin l'option -c (c comme "créer l'empreinte") signifie à mtree de lister le résultat de ses investigations sur la sortie standard qui est ici redirigée (à l'aide du caractère spécial '>') VERS les nom et emplacement de fichier de votre choix. Note, le traitement peut s'avérer assez long et surtout rien n'est affiché à l'écran, les deux points étant tout à fait normaux. Traquer le moindre changement sudo mtree -p / < ~/Desktop/empreinte_mtree_du_volume_racine_13_septembre_2003 Une fois l'empreinte constituée (que l'on par ailleurs visualiser à l'aide d'un simple éditeur de texte), l'étape suivante consiste à l'employer un peu plus tard pour détecter toute modification intervenue entre-temps. Vous remarquerez qu'il n'a pas été nécessaire de redonner les options -K (et son paramètre cksum) et -x en mode vérification, les informations correspondantes sont contenues dans le fichier empreinte. (On peut toutefois les mettre, cela ne changera en rien le comportement de mtree.) Attention, ici nous utilisons un caractère '<' qui symbolise une lecture des données à contrôler DEPUIS le fichier dont le nom suit. Si rien n'est affiché, c'est que tous les fichiers contrôlés sont identiques à ce qu'ils étaient, qu'aucun n'est absent et enfin qu'aucun n'est apparu. Dans le cas contraire, chaque modification donne lieu à la génération d'une ou deux lignes à l'écran donnant le détail de ce qui était et de ce qui a été trouvé. Bien entendu, deux recommandations s'imposent d'elles-mêmes. D'une part il est conseillé de recréer le fichier empreinte régulièrement car vos fichiers évoluent. D'autre part, employé dans son rôle d'IDS (Intrusion Detection System), il convient d'enregistrer les fichiers empreintes produits par mtree soit sur un support amovible inséré seulement aux moments opportuns soit, mieux, un support non modifiable (clef USB vérouillée, CD-R ou CD-RW si la machine à contrôler ne possède pas de graveur). Les actions à effectuer périodiquement comme l'actualisation des fichiers empreinte ou le contrôle de l'intégrité de votre système peuvent être réalisées à l'aide de l'incomparable programme cron. Toutes les situations évoquées plus haut sont résolues avec les deux commandes données ci-dessus. Bien d'autres cas de figure peuvent être traités avec la même syntaxe ou avec juste quelques petites nuances. ===== FIN POSSIBLE Au titre des autres applications on peut citer la comparaison de volumes. Comparer le contenu de deux ou plusieurs CD par exemple revient à prendre l'empreinte d'un des médias : mtree -c -K cksum -p /Volumes/NOM_DU_MEDIA > ~/Desktop/empreinte_mtree_du_premier_cd et à la comparer, après remplacement du CD, avec les supports suivants : mtree -p /Volumes/NOM_DU_MEDIA < ~/Desktop/empreinte_mtree_du_premier_cd Pour s'assurer que l'on a correctement gravé le CD que l'on voulait dupliquer ou pour vérifier si les douze CD fournis par la boîte de com' qui élabore vos présentations sont rigoureusement identiques où s'ils contiennent bien les améliorations promises depuis trois mois. ===== FIN POSSIBLE On peut aussi vouloir être certain que nos proches n'ont pas porté atteinte à nos chères données. Au préalable, on aura pensé à produire l'empreinte : mtree -c -p ~ > ~/Desktop/empreinte_mtree_de_mes_documents Ici on ne calcule pas la somme de contrôle de chaque fichier, ce qui est considérablement plus rapide, car on ne soupçonne pas notre entourage d'être assez machiavélique pour être capable de redonner à un fichier altéré ses attributs d'origine. La vérication prend toujours la même forme : mtree -p ~ < ~/Desktop/empreinte_mtree_de_mes_documents ===== FIN POSSIBLE Le champ d'action de mtree ne s'arrête pas là. On peut imaginer s'en servir de brique pour développer un outil de synchronisation. Ses géniteurs l'ont aussi doté d'options qui lui permettent d'intervenir sur les documents et pas seulement d'en saisir ou d'en vérifier les détails. ===== FIN POSSIBLE (la suite est techniquement valide mais j'ai un peu de mal à l'exprimer de manière simple et pratique) Dans son rôle de manipulateur, mtree peut notamment faciliter la maintenance d'une arborescence devant accueillir des fichiers "étrangers", structure que l'on veut pouvoir vérifier seule et/ou nettoyer de temps en temps. Après avoir créé votre structure d'accueil, il faut enregistrer le détail de cette arborescence. Prise de l'empreinte mtree -c -K cksum -p CHEMIN_DU_DOSSIER_ACCUEIL > ~/Desktop/empreinte_mtree_du_dossier_accueil Plus tard, si l'on veut juste vérifier que les fichiers et dossiers qui composent cette structure sont intacts : mtree -e -p CHEMIN_DU_DOSSIER_ACCUEIL < ~/Desktop/empreinte_mtree_du_dossier_accueil L'option -e (e comme "éluder") évite les messages d'avertissement signalant la découverte de nouveaux documents (ceux ajoutés entre-temps dans notre structure d'accueil). Faire le ménage dans l'aborescence mtree -r -p CHEMIN_DU_DOSSIER_ACCUEIL < ~/Desktop/empreinte_mtree_du_dossier_accueil Même syntaxe mais avec -r (pour "remove" ou comme "retirer"). On supprime tous les documents, depuis CHEMIN_DU_DOSSIER_ACCUEIL, qui ne sont pas mentionnés dans le fichier empreinte. Cette notion de structure d'accueil peut trouver son intérêt en particulier chez les hébergeurs de sites Internet qui mettent en place pour leurs clients une hiérarchie de dossiers et fichiers plus ou moins complexe et qui veulent pouvoir les contrôler sans s'occuper des éléments entreposés par les clients et le cas échéant remettre cette hiérarchie dans son état initial en éradiquant ces éléments hébergés.