# Config rapport.sh pour Exim

**URL:** <https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964 "2016-02-20T12:33:57Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/1 "2016-02-20T12:33:57Z")

</div>

Bonjour

Je suis embété car je n’arrive pas à touver la bonne configuration pour le script ci-dessous.

Quand ce script est appellé, il envoit un rapport à l’email concerné. le problème est que ce script est configurer pour Qmail, et moi j’ai Exim.

Que faut-il mettre sur la dernière ligne en prenant Exim comme serveur mail ?

// Envoi du rapport via Qmail à adapter pour sendmail avec “mail -s”

1. Fichier [rapport.sh](http://rapport.sh) :

#!/bin/bash  
apt-get update  
(  
echo To: [vous@fai.tld](mailto:vous@fai.tld)  
echo From: [rapport@sdxxx.sivit.org](mailto:rapport@sdxxx.sivit.org)  
if [“$( df -h | grep hda1 | cut -c40-42)” -ge “80”]; then  
echo Subject: Rapport du `date +%e\ %B\ %Y` : ESPACE DISQUE FAIBLE  
else echo Subject: Rapport quotidien du `date +%e\ %B\ %Y` pour `hostname`  
fi  
echo Rapport de `hostname`  
echo Usage du disque :  
echo  
df -h  
echo  
echo Charge du serveur :  
echo  
uptime  
echo  
echo Mises à jour nécessaires  
echo  
apt-get -s upgrade  
) | /var/qmail/bin/qmail-inject [vous@fai.tld](mailto:vous@fai.tld)

// La ligne ci-dessus doit être configurée pour Exim (mon serveur de mail).  
Pouvez-vous m’aider svp ?

Merci à tous.

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/2 "2016-02-20T12:33:57Z")

</div>

Pourquoi ne pas passer par mail, sur toutes mes machines j’utilise un bête

… | mail -s sujet [toto@labas.chezlui.fr](mailto:toto@labas.chezlui.fr)

et ça marche très bien

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/3 "2016-02-20T12:33:58Z")

</div>

Oui, mais je suis bien limité nivau de mon savoir.

Je vais essayer, mais j’ai quelques question car je voudrais comprendre ce que je fais !

à quoi correspond

… | mail -s

les … c’est quoi? // Ca c’est bon j’ai compris 🙂

Merci

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/4 "2016-02-20T12:33:58Z")

</div>

Il me sort cette erreur :

line 22: syntax error near unexpected token `)' line 22:`) | mail [mon-mail@fai.tld](mailto:mon-mail@fai.tld)’

Auriez-vous une idée svp?

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/5 "2016-02-20T12:33:58Z")

</div>

A vrai dire j’avais mal lu le script. Je suggère

apt-get update  
if [“$( df -h | grep hda1 | cut -c40-42)” -ge “80”]; then  
echo Subject: Rapport du `date +%e\ %B\ %Y` : ESPACE DISQUE FAIBLE \> /tmp/sujet  
else echo Subject: Rapport quotidien du `date +%e\ %B\ %Y` pour `hostname` \> /tmp/sujet  
fi  
echo \> /tmp\>rapport  
echo Rapport de `hostname` \>\> /tmp/rapport  
echo Usage du disque : \>\> /tmp/rapport  
echo \>\> /tmp/rapport  
df -h \>\> /tmp/rapport  
echo \>\> /tmp/rapport  
echo Charge du serveur : \>\> /tmp/rapport  
echo \>\> /tmp/rapport  
uptime \>\> /tmp/rapport  
echo \>\> /tmp/rapport  
echo Mises à jour nécessaires \>\> /tmp/rapport  
echo \>\> /tmp/rapport  
apt-get -s upgrade \>\> /tmp/rapport

# là le sujet et le rapport sont prêts

cat /tmp/rapport | mail -s `cat /tmp/sujet`

Sinon, si tu veux fabriquer tous les entêtes et envoyer le tout à exim, la commande est

cat message\_avec\_entêtes | exim -bm [destinataire@chezlui.fai.fr](mailto:destinataire@chezlui.fai.fr)

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/6 "2016-02-20T12:33:59Z")

</div>

Merci à toi ca fonctionne bien

Autrement connais-tu une façon de mettre le systeme à jour automatiquement?

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/7 "2016-02-20T12:33:59Z")

</div>

Ton apt-get update peut poser des questions, je ferais donc un  
apt-get update -q -y avec une capture de sortie d’erreurs.

Mais en fait j’évite les mises à jours automatiques, régulièrement je regardes quelles sont les mises à jour qu’il veut faire et je les installe. Je préfère bétonner la surveillance des machines.

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/8 "2016-02-20T12:33:59Z")

</div>

Bettonner la surveillance =\> Pourrais tu me conseiller ?

Scripts et maniere de faire.

Merci pour tout

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:33 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/9 "2016-02-20T12:33:59Z")

</div>

En fait, j’avais un serveur personnel qui me servait à l’époque juste de passerelle (depuis il me sert professionnellement). J’avais chkrootkit et je ne faisais pas de mise à jour. Un soir de Décembre, un type (de Munich) a pénétré le système et installé un rootkit. Je m’en suis aperçu en regardant la console (mode promiscuous). J’ai fait des tests avec chkrootkit, il n’avait rien vu.

J’ai fait une image de mon disque et ai réparé tout le bazar (sans réinstaller d’ailleurs) mais cela a été assez pénible.  
L’analyse de l’image du disque m’a permis de savoir quasiment minute après minute ce qu’avait fait le gars, son origine etc notamment parce que cet abruti se croyait sur une RedHat et ne connaissait pas l’emplacement de tous les fichiers logs  
J’ai constaté que chkrootkit aurait du détecter ce gars mais n’avait pas fonctionné (il utilisait suckIT).

J’ai fini par faire deux utilitaires très précieux:

1. cacheproc qui recherche tous les processus cachés et affichent la ligne de commande et l’environnement lors d’une tel trouvaille. Il y a quelques faux positifs lors qu’un processus se termine au cours de son analyse mais bon c’est très rare.

2. surveillance qui teste l’intégrité du série de fichiers avec md5sums. Il fournit également un md5sum-static. Dans la pratique, je regardes l’intégrité de /bin, /sbin, /usr/bin, /usr/sbin, /etc/init.d, /etc/rcS.d toutes les heures. Un mail m’est envoyé en cas de problèmes. Je me suis aperçu d’ailleurs que les inversions de bits sur disque dur ne sont pas si rare que cela (une rangée de bits passant à 0 par exemple).  
A chaque mise à jour, il faut refaire la table des md5sums soit  
dpkg-reconfigure surveillance

Ces deux programmes (20 à 30K donc petits) sont compilés en statique et sont donc indépendant d’une quelconque alteration des librairies. Le deuxième peut être mis entièrement sur un CD.

Ils sont disponibles sur

deb [boisson.homeip.net/sarge/](http://boisson.homeip.net/sarge/) ./  
(paquet cacheproc et surveillance)

C’est basique mais efficace je crois.

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/10 "2016-02-20T12:34:00Z")

</div>

Re

très interessant, mais dis moi, ils se configurent comment?

Que faut-il savoir sur leurs fonctionnements?

Je veux dire pour configurer les alerte (m’envoyer un mail en cas de probleme) et comment je vérifie si ya un probleme?

Amicalement

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/11 "2016-02-20T12:34:00Z")

</div>

Des lignes dans crontab:  
en l’occurrence:

37 \* \* \* \* francois /usr/bin/surveille  
0 \* \* \* \* root /usr/local/regarde

Je reçois des mails de ce type:

…Processus caché :2227  
Environnement:

cat: ./2227/environ: No such file or directory

Ligne de commande:

cat: ./2227/cmdline: No such file or directory

1 processus caché(s) trouvé(s)

(c’est un faux positif) ou bien

Erreur:: /usr/sbin/make-ssl-cert modified  
1 modified files

Il suffit que les messages à root soient correctement relayés

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/12 "2016-02-20T12:34:00Z")

</div>

Merci à toi c’est bien sympas, j’ai en gros compris, mais (si je n’abuse pas) pourrais-tu m’expliquer avec un peu plus de mots sur les resultats qu’amenent tes 2 scripts stp.

Merci

Amicalement

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/13 "2016-02-20T12:34:00Z")

</div>

Re

Dis moi, tu connaitraispas une commande qui remettrai en ordre tous les droits users sur leurs dossiers et fichiers?

Ca existe?

LOL …

Merci

Amicalement

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/14 "2016-02-20T12:34:00Z")

</div>

Sur l’intrusion, tu auras l’histoire ici: [http://lists.debian.org/debian-user-french/2003/12/msg01134.html](http://lists.debian.org/debian-user-french/2003/12/msg01134.html)

Ce sont des programmes en C compilés par diet gcc.

* * *

Sur cacheproc, voilà un extrait du fichier lisezmoi et un essai sur une machine avec suckit:

dell1:/home/boisson# chercheprocess  
Recherche de processus cachés F.Boisson Dec2003  
…Processus caché :13528  
Environnement:

PWD=/usr/.sk12REMOTEHOST=R2D3.rebellesHZ=100PS1=\h:\w$ USER=rootMAIL=/var/mail/boissonOLDPWD=/home/boissonLANG=fr\_FR@euroDISPLAY=toto  
che.rebelles:0.0LOGNAME=boissonSHLVL=2HUSHLOGIN=FALSESHELL=/bin/bashTERM=xtermHOME=/rootPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X1  
1:/usr/local/sbin:/usr/local/bin\_=./sk  
Ligne de commande:

## ./sk … 1 processus caché(s) trouvé(s) dell1:/home/boisson#

Cela permet de savoir le repertoire d’exécution (PWD=/usr/.sk12 ici), qui l’a  
lancé (USER=root), plusieurs renseignements divers dans l’environnement et bien  
sûr, la ligne de commande ayant lancé le processus (ici ./sk).

regarde est le même programme mais sans sortie écran si tout se passe bien.  
Mettre  
0 \* \* \* \* root /usr/bin/regarde  
enverra un mail à root (via la sortie standard, bien configurer cron) en cas  
de processus trouvé.

Le principe est décrit dans le fichier bash [boisson.homeip.net/processus](http://boisson.homeip.net/processus)  
qui fait la même chose (mais qui est très long)

* * *

Sur surveillance, le programme calcule les md5sums de tous les fichiers indiqués dans une liste. surveille appelé sans argument vérifie ces md5sums et signale les différence. Le programme est fait de tel manière à ne dépendre d’aucune librairie et à pouvoir être sur CDrom avec le fichier de signatures et la listes des fichiers à surveiller.

La moindre modification de ces fichiers est signalée dans l’heure qui suit par email à root.

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/15 "2016-02-20T12:34:00Z")

</div>

Je teremercie pour tout.

Ta patience m’a bien aidé, et j’ai compris ce que je faisais et c’est important.

Mais tu as apparemment plusieur machines?

c’est ton metier?  
Tu n’est pas obligé de répondre si la question est trop indiscrete.

Amicalement

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/16 "2016-02-20T12:34:01Z")

</div>

Oui et non, professeur et responsable info entre autres dans mon lycée

---

<div class="post-metadata">

**Author:** ![creaty](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/c/7ab992/32.png) [@creaty](https://www.debian-fr.org/u/creaty)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/17 "2016-02-20T12:34:01Z")

</div>

ah c bien !!

Dis!

Le rapport de mon script [rapport.sh](http://rapport.sh) (le premier qu’on a vu) me donne ce rapport

Mises à jour nécessaires

Reading Package Lists…  
Building Dependency Tree…  
The following packages will be upgraded:  
flex libcurl3 libgnutls11 libtasn1-2 sendmail-base sendmail-cf sensible-mda  
tar unzip  
9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  
Inst tar [1.14-2] (1.14-2.1 Debian-Security:3.1/stable)  
Conf tar (1.14-2.1 Debian-Security:3.1/stable)  
Inst libtasn1-2 [0.2.10-3] (0.2.10-3sarge1 Debian-Security:3.1/stable)  
Inst libgnutls11 [1.0.16-13.1] (1.0.16-13.2 Debian-Security:3.1/stable)  
Inst flex [2.5.31-31] (2.5.31-31sarge1 Debian-Security:3.1/stable)  
Inst libcurl3 [7.13.2-2sarge4] (7.13.2-2sarge5 Debian-Security:3.1/stable)  
Inst unzip [5.52-1sarge3] (5.52-1sarge4 Debian-Security:3.1/stable)  
Inst sendmail-base [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)  
Inst sendmail-cf [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)  
Inst sensible-mda [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)  
Conf libtasn1-2 (0.2.10-3sarge1 Debian-Security:3.1/stable)  
Conf libgnutls11 (1.0.16-13.2 Debian-Security:3.1/stable)  
Conf flex (2.5.31-31sarge1 Debian-Security:3.1/stable)  
Conf libcurl3 (7.13.2-2sarge5 Debian-Security:3.1/stable)  
Conf unzip (5.52-1sarge4 Debian-Security:3.1/stable)  
Conf sendmail-base (8.13.4-3sarge1 Debian-Security:3.1/stable)  
Conf sendmail-cf (8.13.4-3sarge1 Debian-Security:3.1/stable)  
Conf sensible-mda (8.13.4-3sarge1 Debian-Security:3.1/stable)

Comment je procede pour mettre tout celà a jour sans faire de dégas?

Merci

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 12:34 UTC](https://www.debian-fr.org/t/config-rapport-sh-pour-exim/2964/18 "2016-02-20T12:34:46Z")

</div>

A priori:

- sous stable les mises à jour ne sont que des mises à jour de sécurité: sans soucis, elles ne changent pas le système SAUF singalement clairement dit.

- sous testing, il n’y a pas de mise à jour régulière, lorsqu’il y a des maj, ça peut être le grand saut.

- sous unstable, il y a des maj de sécurité et des maj de debugguage. Plus régulières, le système peut être incohérent pendant qques jours donc prévoir des soucis et la possibilité de revenir en arrière (conserver les paquets précédents).

Voilà.
