Bonjour,
J’ai un fichier sur Debian contenant l’ensemble des processus autorisés et je dois faire un script sur Debian permettant de vérifier si aucun autre processus est lancé et envoi un mail d’alerte à l’admin si un processus non autorisé est lancé. Voici ce que j’ai déjà fait:
#!/bin/sh
ps x> proc_exec
sed ‘/ps x/d’ proc_exec > proc_en_execution
sed ‘/script_proc_autorisés.sh/d’ proc_en_execution > proc_exec
cat proc_exec > proc_en_execution
t=$(diff -q /home/debian/Desktop/proc_en_execution /home/debian/Desktop/proc_autorisés > diff_proc)
diff /home/debian/Desktop/proc_en_execution /home/debian/Desktop/proc_autorisés > diff_proc
sed ‘/ps x/d’ diff_proc > proc_non_autorisés
if [ -z $t ];
then
echo “Des processus non autorisés ont été lancés”
(date && echo “Des processus non autorisés ont été lancés”) >> suivi_script_proc
echo “Des processus non autorisés ont été lancés”|mail -s “Lancement de processus non-autorisés” prenom.nom@entreprise.ext
else
echo "Aucun processus non autorisé lancé"
fi
Malheureusement, je n’arrive pas à envoyer de mail avec la commande mail et j’ai testé en créant moi-même une liste de processus autorisés (en faisant ps > proc_autorisés) et certains processus qui sont apparemment des commandes (su, bash, ps, …) apparaissent plusieurs fois dans le fichier avec un PID différents ce qui faussent un peu le résultat (bon ces processus ne sont pas dans la liste de processus autorisé mais le fait que le PID change fausserait tout s’ils l’étaient).
J’aimerais donc savoir si je peux stocker dans un fichier les processus en cours d’execution (ca je sais c’est ps > nom_fichier) et supprimer ensuite la première ligne et toutes les colonnes sauf celle contenant le nom des processus.
Merci d’avance