schema base + script bash radius_notify_winlog.hs
This commit is contained in:
parent
4811f556da
commit
4cd603edec
@ -5,7 +5,7 @@ Les connexions sont archivées dans une base de données et peuvent faire l'obje
|
|||||||
|
|
||||||
Voir la [documentation](https://github.com/jbousquie/winlog/wiki)
|
Voir la [documentation](https://github.com/jbousquie/winlog/wiki)
|
||||||
|
|
||||||
version : 1.6 _([Change Log](https://github.com/jbousquie/winlog/wiki/Change-Log))_
|
version : 1.7 _([Change Log](https://github.com/jbousquie/winlog/wiki/Change-Log))_
|
||||||
note : depuis la version 1.4.0 proposant la fonctionnalité de démarrer un script sur une machine distante, Winlog se nomme Winlog-R (remote) pour le différentier des versions précédentes.
|
note : depuis la version 1.4.0 proposant la fonctionnalité de démarrer un script sur une machine distante, Winlog se nomme Winlog-R (remote) pour le différentier des versions précédentes.
|
||||||
|
|
||||||
*Licence [CeCILL-B](http://www.cecill.info/)*
|
*Licence [CeCILL-B](http://www.cecill.info/)*
|
||||||
|
62
admin/scripts_distants/wifi/radius_notify_winlog.sh
Normal file
62
admin/scripts_distants/wifi/radius_notify_winlog.sh
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Script de log des connexions Eduroam dans Winlog
|
||||||
|
# Ce script est programmé dans la crontab à intervalle régulier
|
||||||
|
# Il copie le fichier /var/log/freeradius/radius.log localement
|
||||||
|
# Il compare cette copie à la version précédente de la copie pour déterminer le nombre de nouvelles inscrites dans le log depuis le dernier traitement
|
||||||
|
# Il réduit le fichier de travail à ces nouvelles lignes desquelles il extrait les lignes de connexions réussies
|
||||||
|
# Il émet une requête POST à Winlog avec les données de connexion extraites
|
||||||
|
|
||||||
|
ficLog=/var/log/freeradius/radius.log
|
||||||
|
ficCopie=/root/radius.copie.log
|
||||||
|
ficDerniereCopie=/root/radius.precedent.log
|
||||||
|
ficTravail=/root/radius.connexions.log
|
||||||
|
winlogURL=http://winlog.iut.rdz/wifi/index.php
|
||||||
|
|
||||||
|
# copie du fichier de log dans un fichier de travail local
|
||||||
|
cp $ficLog $ficCopie
|
||||||
|
|
||||||
|
# comparaison du delta entre la copie et la précédente
|
||||||
|
if [ ! -f $ficDerniereCopie ]; then
|
||||||
|
touch $ficDerniereCopie
|
||||||
|
fi
|
||||||
|
nbLignesCopie=$(wc -l < $ficCopie)
|
||||||
|
nbLignesPrec=$(wc -l < $ficDerniereCopie)
|
||||||
|
delta=$(($nbLignesCopie-$nbLignesPrec))
|
||||||
|
|
||||||
|
# si le log actuel a plus de lignes que la derniere copie (delta > 0), alors on copie les delta dernières lignes dans le fichier de travail
|
||||||
|
# sinon, le fichier de log a été réinitialisé (logrotate), le fichier de travail devient directement la copie du fichier du log courant entier
|
||||||
|
if test "$delta" -gt 0; then
|
||||||
|
tail -n $delta $ficCopie > $ficTravail
|
||||||
|
else
|
||||||
|
cp $ficCopie $ficTravail
|
||||||
|
fi
|
||||||
|
# dans tous les cas, on copie le fichier de log actuel dans la fichier "derniere copie"
|
||||||
|
cp $ficCopie $ficDerniereCopie
|
||||||
|
|
||||||
|
|
||||||
|
# Tout le traitement se fait maintenant sur le fichier de travail uniquement
|
||||||
|
#
|
||||||
|
# Sélection des lignes contenant "Login OK" uniquement
|
||||||
|
connexionsOK=$(cat $ficTravail | grep 'Login OK' | cut -d ':' -f6)
|
||||||
|
# Remplacement de tous les espaces par * pour itérer ligne par ligne dans la boucle for (et pas par mot)
|
||||||
|
connexions=${connexionsOK// /*}
|
||||||
|
|
||||||
|
|
||||||
|
for connexion in $connexions; do
|
||||||
|
# Récupération du username dans les colonnes de la ligne
|
||||||
|
username=$(echo $connexion | cut -d'*' -f2)
|
||||||
|
# suppression de tous les caractères à partir du / final
|
||||||
|
username=${username/\/*}
|
||||||
|
# suppression du [ initial
|
||||||
|
username=${username/[}
|
||||||
|
|
||||||
|
# Récupération de la MAC ADDRESS
|
||||||
|
mac=$(echo $connexion | cut -d'*' -f12)
|
||||||
|
# suppression du ) final
|
||||||
|
mac=${mac/)}
|
||||||
|
|
||||||
|
# Envoi de la requête POST à Winlog
|
||||||
|
postData=agent=EDUROAM\&ip=$mac\&username=$username
|
||||||
|
wget -qO- --post-data=$postData $winlogURL
|
||||||
|
done
|
77
winlog.sql
77
winlog.sql
@ -3,7 +3,7 @@
|
|||||||
-- http://www.phpmyadmin.net
|
-- http://www.phpmyadmin.net
|
||||||
--
|
--
|
||||||
-- Client : localhost
|
-- Client : localhost
|
||||||
-- Généré le : Jeu 06 Décembre 2018 à 10:51
|
-- Généré le : Mar 09 Avril 2019 à 14:35
|
||||||
-- Version du serveur : 5.5.53-0+deb8u1
|
-- Version du serveur : 5.5.53-0+deb8u1
|
||||||
-- Version de PHP : 5.6.27-0+deb8u1
|
-- Version de PHP : 5.6.27-0+deb8u1
|
||||||
|
|
||||||
@ -25,9 +25,6 @@ SET time_zone = "+00:00";
|
|||||||
--
|
--
|
||||||
-- Structure de la table `comptes`
|
-- Structure de la table `comptes`
|
||||||
--
|
--
|
||||||
-- Création : Mer 05 Décembre 2018 à 09:45
|
|
||||||
-- Dernière modification : Mer 05 Décembre 2018 à 09:45
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `comptes` (
|
CREATE TABLE IF NOT EXISTS `comptes` (
|
||||||
`compte_id` int(11) NOT NULL,
|
`compte_id` int(11) NOT NULL,
|
||||||
@ -35,17 +32,13 @@ CREATE TABLE IF NOT EXISTS `comptes` (
|
|||||||
`prenom` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`prenom` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`nom` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
`nom` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`groupe` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
|
`groupe` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL
|
||||||
) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM AUTO_INCREMENT=935 DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Structure de la table `connexions`
|
-- Structure de la table `connexions`
|
||||||
--
|
--
|
||||||
-- Création : Ven 25 Novembre 2016 à 12:34
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:51
|
|
||||||
-- Dernière vérification : Mer 31 Octobre 2018 à 10:05
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `connexions` (
|
CREATE TABLE IF NOT EXISTS `connexions` (
|
||||||
`con_id` bigint(20) NOT NULL,
|
`con_id` bigint(20) NOT NULL,
|
||||||
@ -56,31 +49,25 @@ CREATE TABLE IF NOT EXISTS `connexions` (
|
|||||||
`debut_con` timestamp NULL DEFAULT '0000-00-00 00:00:00',
|
`debut_con` timestamp NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
`close` tinyint(1) NOT NULL DEFAULT '1',
|
`close` tinyint(1) NOT NULL DEFAULT '1',
|
||||||
`archivable` tinyint(1) NOT NULL DEFAULT '0'
|
`archivable` tinyint(1) NOT NULL DEFAULT '0'
|
||||||
) ENGINE=MyISAM AUTO_INCREMENT=195776 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
) ENGINE=MyISAM AUTO_INCREMENT=239479 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Structure de la table `log_admin_connexions`
|
-- Structure de la table `log_admin_connexions`
|
||||||
--
|
--
|
||||||
-- Création : Jeu 06 Décembre 2018 à 08:18
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:49
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `log_admin_connexions` (
|
CREATE TABLE IF NOT EXISTS `log_admin_connexions` (
|
||||||
`id_admin_con` int(11) NOT NULL,
|
`id_admin_con` int(11) NOT NULL,
|
||||||
`username` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
`username` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='table de logs des connexions à la console d''administration';
|
) ENGINE=MyISAM AUTO_INCREMENT=145 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='table de logs des connexions à la console d''administration';
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Structure de la table `machines`
|
-- Structure de la table `machines`
|
||||||
--
|
--
|
||||||
-- Création : Jeu 29 Novembre 2018 à 10:27
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:50
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `machines` (
|
CREATE TABLE IF NOT EXISTS `machines` (
|
||||||
`machine_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
`machine_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
@ -105,9 +92,6 @@ CREATE TABLE IF NOT EXISTS `machines` (
|
|||||||
--
|
--
|
||||||
-- Structure de la table `ping`
|
-- Structure de la table `ping`
|
||||||
--
|
--
|
||||||
-- Création : Ven 30 Novembre 2018 à 13:33
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:51
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `ping` (
|
CREATE TABLE IF NOT EXISTS `ping` (
|
||||||
`machine_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
`machine_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
@ -119,10 +103,6 @@ CREATE TABLE IF NOT EXISTS `ping` (
|
|||||||
--
|
--
|
||||||
-- Structure de la table `proxy`
|
-- Structure de la table `proxy`
|
||||||
--
|
--
|
||||||
-- Création : Ven 16 Septembre 2016 à 12:39
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:48
|
|
||||||
-- Dernière vérification : Mer 31 Octobre 2018 à 10:05
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `proxy` (
|
CREATE TABLE IF NOT EXISTS `proxy` (
|
||||||
`ip` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
`ip` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
@ -137,9 +117,6 @@ CREATE TABLE IF NOT EXISTS `proxy` (
|
|||||||
--
|
--
|
||||||
-- Structure de la table `salles`
|
-- Structure de la table `salles`
|
||||||
--
|
--
|
||||||
-- Création : Mer 05 Décembre 2018 à 09:18
|
|
||||||
-- Dernière modification : Mer 05 Décembre 2018 à 09:18
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `salles` (
|
CREATE TABLE IF NOT EXISTS `salles` (
|
||||||
`salle_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL
|
`salle_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL
|
||||||
@ -150,8 +127,6 @@ CREATE TABLE IF NOT EXISTS `salles` (
|
|||||||
--
|
--
|
||||||
-- Structure de la table `total_connexions`
|
-- Structure de la table `total_connexions`
|
||||||
--
|
--
|
||||||
-- Création : Lun 11 Décembre 2017 à 09:05
|
|
||||||
--
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `total_connexions` (
|
CREATE TABLE IF NOT EXISTS `total_connexions` (
|
||||||
`con_id` bigint(20) NOT NULL,
|
`con_id` bigint(20) NOT NULL,
|
||||||
@ -165,11 +140,21 @@ CREATE TABLE IF NOT EXISTS `total_connexions` (
|
|||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Structure de la table `wifi`
|
-- Structure de la table `total_wifi`
|
||||||
--
|
--
|
||||||
-- Création : Mar 13 Décembre 2016 à 09:02
|
|
||||||
-- Dernière modification : Jeu 06 Décembre 2018 à 09:49
|
CREATE TABLE IF NOT EXISTS `total_wifi` (
|
||||||
-- Dernière vérification : Mer 31 Octobre 2018 à 10:05
|
`wifi_id` bigint(20) NOT NULL,
|
||||||
|
`wifi_username` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
`wifi_ip` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
`wifi_browser` varchar(160) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
|
`wifi_deb_conn` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
) ENGINE=MyISAM AUTO_INCREMENT=119759 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Structure de la table `wifi`
|
||||||
--
|
--
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `wifi` (
|
CREATE TABLE IF NOT EXISTS `wifi` (
|
||||||
@ -178,8 +163,9 @@ CREATE TABLE IF NOT EXISTS `wifi` (
|
|||||||
`wifi_ip` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
`wifi_ip` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`wifi_browser` varchar(160) COLLATE utf8_unicode_ci NOT NULL,
|
`wifi_browser` varchar(160) COLLATE utf8_unicode_ci NOT NULL,
|
||||||
`wifi_deb_conn` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
`wifi_deb_conn` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
`close` tinyint(4) NOT NULL DEFAULT '0'
|
`close` tinyint(4) NOT NULL DEFAULT '0',
|
||||||
) ENGINE=MyISAM AUTO_INCREMENT=97548 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
`archivable` tinyint(1) NOT NULL
|
||||||
|
) ENGINE=MyISAM AUTO_INCREMENT=72 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Index pour les tables exportées
|
-- Index pour les tables exportées
|
||||||
@ -227,11 +213,17 @@ ALTER TABLE `salles`
|
|||||||
ALTER TABLE `total_connexions`
|
ALTER TABLE `total_connexions`
|
||||||
ADD PRIMARY KEY (`con_id`), ADD KEY `username` (`username`), ADD KEY `hote` (`hote`), ADD KEY `ip` (`ip`);
|
ADD PRIMARY KEY (`con_id`), ADD KEY `username` (`username`), ADD KEY `hote` (`hote`), ADD KEY `ip` (`ip`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Index pour la table `total_wifi`
|
||||||
|
--
|
||||||
|
ALTER TABLE `total_wifi`
|
||||||
|
ADD PRIMARY KEY (`wifi_id`), ADD KEY `wifi_username` (`wifi_username`), ADD KEY `wifi_deb_conn` (`wifi_deb_conn`);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Index pour la table `wifi`
|
-- Index pour la table `wifi`
|
||||||
--
|
--
|
||||||
ALTER TABLE `wifi`
|
ALTER TABLE `wifi`
|
||||||
ADD PRIMARY KEY (`wifi_id`), ADD KEY `wifi_username` (`wifi_username`), ADD KEY `wifi_deb_conn` (`wifi_deb_conn`), ADD KEY `close` (`close`);
|
ADD PRIMARY KEY (`wifi_id`), ADD UNIQUE KEY `wifi_username_2` (`wifi_username`,`wifi_ip`,`wifi_browser`), ADD KEY `wifi_username` (`wifi_username`), ADD KEY `wifi_deb_conn` (`wifi_deb_conn`), ADD KEY `close` (`close`);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT pour les tables exportées
|
-- AUTO_INCREMENT pour les tables exportées
|
||||||
@ -241,22 +233,27 @@ ALTER TABLE `wifi`
|
|||||||
-- AUTO_INCREMENT pour la table `comptes`
|
-- AUTO_INCREMENT pour la table `comptes`
|
||||||
--
|
--
|
||||||
ALTER TABLE `comptes`
|
ALTER TABLE `comptes`
|
||||||
MODIFY `compte_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=929;
|
MODIFY `compte_id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=935;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT pour la table `connexions`
|
-- AUTO_INCREMENT pour la table `connexions`
|
||||||
--
|
--
|
||||||
ALTER TABLE `connexions`
|
ALTER TABLE `connexions`
|
||||||
MODIFY `con_id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=195776;
|
MODIFY `con_id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=239479;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT pour la table `log_admin_connexions`
|
-- AUTO_INCREMENT pour la table `log_admin_connexions`
|
||||||
--
|
--
|
||||||
ALTER TABLE `log_admin_connexions`
|
ALTER TABLE `log_admin_connexions`
|
||||||
MODIFY `id_admin_con` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;
|
MODIFY `id_admin_con` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=145;
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT pour la table `total_wifi`
|
||||||
|
--
|
||||||
|
ALTER TABLE `total_wifi`
|
||||||
|
MODIFY `wifi_id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=119759;
|
||||||
--
|
--
|
||||||
-- AUTO_INCREMENT pour la table `wifi`
|
-- AUTO_INCREMENT pour la table `wifi`
|
||||||
--
|
--
|
||||||
ALTER TABLE `wifi`
|
ALTER TABLE `wifi`
|
||||||
MODIFY `wifi_id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=97548;
|
MODIFY `wifi_id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=72;
|
||||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user