suidchecker/src/suidchecker

67 lines
1.4 KiB
Plaintext
Raw Normal View History

2018-01-14 17:57:12 +01:00
#!/bin/bash
# Vérifie qu'on est bien en root
if [ $(id -u) -ne 0 ]
then
echo "Ce script doit être executé en root" >&2
exit 1
fi
2018-01-14 19:07:14 +01:00
# Récupération de la configuration
2018-01-14 19:04:27 +01:00
test -f /etc/suidchecker.conf && . /etc/suidchecker.conf || . suidchecker.conf
2018-01-14 17:57:12 +01:00
export DATABASE
export INSTALL_PATH
2018-01-14 19:07:14 +01:00
# Récupération des paramètres
2018-01-14 17:57:12 +01:00
OPTS=$(getopt -o h -l init,reinit,add,check,help -- "$@")
eval set -- $OPTS
2018-01-14 19:07:14 +01:00
# On conserve le code de sortie des sous-scripts
2018-01-14 18:32:46 +01:00
set -e
2018-01-14 17:57:12 +01:00
usage() {
2018-01-14 19:07:14 +01:00
# Définition du message d'aide
2018-01-14 17:57:12 +01:00
echo "Utilisation du script :"
echo -e "\t--init : initialise la base de données"
echo -e "\t--reinit : réinitialise la base de données"
echo -e "\t--add : parcours l'arborescence et ajoute les fichiers ayant le bit SUID qui n'existent pas dans la base"
echo -e "\t--check : vérifie les fichiers répertoriés dans la base"
echo -e "\t--help, -h : affiche ce message"
}
2018-01-14 19:07:14 +01:00
# Initialisation
2018-01-14 17:57:12 +01:00
init() {
$INSTALL_PATH/init.sh
}
2018-01-14 19:07:14 +01:00
# Réinitialisation
2018-01-14 17:57:12 +01:00
reinit() {
rm $DATABASE
init
}
2018-01-14 19:07:14 +01:00
# Recherche et ajout de nouveaux fichiers
2018-01-14 17:57:12 +01:00
add() {
$INSTALL_PATH/add.sh
}
2018-01-14 19:07:14 +01:00
# Vérification des fichiers indexés
2018-01-14 17:57:12 +01:00
check() {
$INSTALL_PATH/check.sh
}
2018-01-14 19:07:14 +01:00
# Pris en compte des paramètres
2018-01-14 17:57:12 +01:00
while true ; do
case "$1" in
-h|--help) usage; exit 0;;
--init) init; shift;;
--reinit) reinit; shift;;
--add) add; shift;;
--check) check; shift;;
--) shift; break;;
esac
done
exit 0