diff --git a/init.sh b/init.sh index e4e9c74..dfc0501 100755 --- a/init.sh +++ b/init.sh @@ -26,11 +26,11 @@ set -e # On lance les commandes sqlite sqlite3 suidchecker.db \ - "CREATE TABLE fichier(chemin TEXT PRIMARY KEY, cksum INTEGER);" + "CREATE TABLE fichier(chemin TEXT PRIMARY KEY, checksum INTEGER);" sqlite3 suidchecker.db "CREATE TABLE controle( chemin TEXT, date INTEGER, - cksum INTEGER, + checksum INTEGER, status TEXT, FOREIGN KEY(chemin) REFERENCES fichier(chemin), PRIMARY KEY(chemin,date) @@ -40,7 +40,18 @@ sqlite3 suidchecker.db "CREATE TABLE controle( # cas de problème de droits (notamment sur les fichiers spéciaux) set +e +# On récupère la liste de tous les fichiers ayant le bit SUID echo "Récupération des fichiers ayant le bit SUID" files=$(find / -perm -4000 2> /dev/null) -echo $files +# Pour chaque fichier de la liste +echo "Insertion des images de départ dans la base de données" +for f in $files +do + # On récupère son checksum + checksum=$(cksum $f | cut -d' ' -f 1) + + # Et on insère le couple chemin, checksum dans la base + sqlite3 suidchecker.db "INSERT INTO fichier VALUES('$f', $checksum);" +done +