Exécution événementielle de script avec inotify et incron

Exécution événementielle de script avec inotify et incronDisponible dès la version 2.6.12 du noyau Linux, le mécanisme inotify permet d’être notifié des actions sur le système de fichiers et d’exécuter, au besoin, une action automatique. Vous pouvez ainsi surveiller, entre autres, l’accès au fichier, la modification et la suppression de fichiers. Sa mise en oeuvre se fait à l’aide du paquet incron, disponible dans les principales distributions Linux. Ce mécanisme permet de renforcer la sécurité de vos systèmes et applications en étant informé d’actions suspectes.

Mise à jour du chroot_list de Vsftpd en fonction des modifications dans /etc/passwd

Je me suis rendu compte hier que j’avais permis à partir d’un compte Linux présent sur l’un de mes serveurs de se connecter via Vsftpd en mode non chrooté. Mon erreur tient au fait que j’ai oublié d’actualiser le fichier /etc/vsftpd/chroot_list en y ajoutant le compte utilisateur que j’avais créé.

Afin d’automatiser la mise à jour de ce fichier, j’ai conçu un script Bash /root/chrootvsftpd reprenant les utilisateurs présents dans le fichier /etc/passwd, écrasant le contenu du fichier /etc/vsftpd/chroot_list :

#!/bin/bash
#
#Initialisation des variables
#
REP=/etc/vsftpd
FIC=/etc/passwd
#
#Traitement des chroot_list,ftpusers,user_list
#
cat $FIC|grep -P ":x:[0-9]{4}:"|cut -d ':' -f 1 > $REP/chroot_list
cat $FIC|grep -P ":x:[0-9]{1,3}:"|cut -d ':' -f 1 > $REP/ftpusers
cat $FIC|grep -P ":x:[0-9]{5,}:"|cut -d ':' -f 1 > $REP/ftpusers
cat $FIC|grep -P ":x:[0-9]{1,3}:"|cut -d ':' -f 1 > $REP/user_list
cat $FIC|grep -P ":x:[0-9]{5,}:"|cut -d ':' -f 1 > $REP/user_list
systemctl restart vsftpd

J’ai ensuite installé le paquet incron sur CentOS :

yum install incron

J’ai configuré ensuite le démon incrond à l’aide de la commande incrontab -e  de manière à ce que toute modification du fichier /etc/passwd déclenche l’exécution du script /root/chrootvsftpd , rendu exécutable et présenté ci-dessus :

/etc/passwd IN_MODIFY /root/chrootvsftpd

Enfin, j’ai lancé le démon incrond :

systemctl enable incrond
systemctl start incrond

Documentation sur inotify et incron

Linux  / Bash Formateur Linux Formateur Vsftpd Ftp Linux Vsftpd 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)