[toulouse-pm] TPC 6 (2)

Michel Rodriguez mrodrigu at ieee.org
Mon Jul 22 15:25:41 CDT 2002


Perl pour Sysadmin

Bon, ya que des vrais sysadmins ici, je me sens pas bien. A part ca
l'instructeur est rigolo, c'est David Blank-Edelman, l'auteur du bouquin
de
O'Reilly sur le sujet.

Premiere partie: quand utiliser un hack et quand eviter, comment s'en
debarasser. De l'importance d'avoir des outils prets en cas de crise.
Ou recuperer du code utilisable (le Cookbook, son bouquin, perlmonks.

Bien sur le plus utile c'est CPAN. Damned, je savais pas que taper r
dans le shell de CPAN donne la liste des modules installes sur la machine,
 cool. J'ai 316 modules installes sans numero de version!

Sur PC ppm est l'equivalent de CPAN. Un truc qui peut etre utile si vous
avez casse le fichier de config (XML) de ppm:
ppm gen_config > perl/ppm.xml

D'autres outils utiles:

- perl -d -e0 pour demarrer le debugger perl "a vide" et pouvoir tester
  des bouts de codes
- inetd peut faire tourner des scripts perl.
- lsof liste les fichiers ouverts (ca je savais, na!)
- procmail
- rsync
- unison (comme rsync mais permet de synchroniser differentes machines,
  la home page a l'air morte mais Mandrake a un package,
  http://rpmfind.net/linux/rpm2html/search.php?query=unison et LinuxWorld
a un article http://www.linuxworld.com/site-stories/2002/0111.unison.html)
Info variees:
- l0pht-watch surveille un repertoire et donneles noms de fichiers ecrits
  et detruit, y compris les fichiers temporaires (lien depuis
http://www.shmoo.com/prog.shtml)
- lockfile un programme qui est installe avec procmail permet de... locker
  (je sais pas traduire) un fichier. C'est dur de faire ca proprement
  ( http://perlmonks.org/index.pl?node_id=14139 decrit une facon propre
  de le faire en Perl), mais c'est plus simple de juste utiliser lockfile

Une recette pour eviter le "symlink shuffle" (un mechant symlinke un
fichier
entre le moment ou un fichier est ouvert et celui ou le programme ecrit).
J'ai le code, demandez le moi quand je rentre si ca vous interesse.

Un slide interessant comparant les file systems sur differents OS, un
autre qui detaille les valeurs retournees par stat sur differents OS.

File::Spec aide a ecrire du code portable
C'est chmod 0666, $file, PAS chmod 666, Stat::lsMode peut aider

MD5: know it, use it, love it! Il montre comment s'en servir non seulement
pour des fichiers mais aussi pour les resultats de services (une
zone DNS par example)

Source Control System: je le fait pas pour mes fichiers systemes et j'ai
honte maintenant ;--( Il conseille RCS plutot que CVS por les fichiers
systemes (rcs n'autorise pas des acces concurrents, et cvs ne remet pas
les fichiers au bon endroit quand on commet une modif), il y a un module
Rcs qui permet de s'interfacer depuis Perl.

Ouf! C'est la pause! Pile a l'heure, le talk de MJD "Conference
Presentation
Judo, lien depuis un de mes messages de YAPC) a l'air d'avoir ete lu par
tout
le monde!

Chic, un cartoon! Une compile de vieux jeux videos, avec un personnage qui
se
promene dans pacman, frogger, pong, etc, ya au moins 20 jeux differents,
il
devrait nous asser l'URL plus tard.

Se promener dans les repertoires: utiliser File::Find. Au passage je
DETESTE
File::Find, l'interface est nulle. J'ai un post sur perlmonks
(http://perlmonks.org/index.pl?node_id=109068 c'est mon post le plus
populaire, je dois pas etre
le seul a avir des problemes avec File::Find) qui explique comment
utiliser
des closures pour passer des arguments au callback. Il n'a pas l'air de
l'aimer non plus, aucun de ses exemples ne l'utilise. Un example
interessant
d'un script qu'il a utilise pour trouver les fichiers corrompu sur le
disque
d'un laptop qui etait tombe par terre.

Une partie sur les comportements anti-sociaux des utilisateurs (j'ai ca a
la maison mais comme le seul utilisateur c'est moi je peux pas trop sevir
;--)

Proc::ProcessTable permet de recuperer des infos sur l'etat du systeme,
pour par exemple kill-er tout process qui consomme trop de memoire ou de
CPU. Comment detecter les utilisateurs qui font tourner des binaires
"suspects" (non autorises, genre des bots IRC ou nmap) mais qui finement
changent le nom de l'executable: lsof peut aider (en detectant les ports
utilises par un process par exemple)

Detecter les intrusions: quelques trucs interessants:

- regarder les process qui tournent avec "./"  qui se loggent de plusieurs
domaines differents (surtout si c'est a 5 minutes d'intervalles depuis
Boston et la Norvege)

De nombreux examples de courts scripts pour etablir des demons utiles, ou
simuler un client ou un serveur.

Quelques anectodes rigolotes... et c'est fini.

A plus

Infos diverses:

La nouvelle version du moteur de recherce de CPAN est a
http://search-beta.cpan.org/ et a l'air cool.



A oui, jai recupere la version 2 de Mastering Regular Expressions, plus
le bouquin sur OpenSSL.

Et j'ai un draft de la review de Perl et LWP a
http://www.xmltwig.com/review/perl_lwp_review.html



Michel Rodriguez
Perl & XML
http://www.xmltwig.com






More information about the Toulouse-pm mailing list