Subversion Repositories ALCASAR

Rev

Rev 597 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 597 Rev 672
1
#/bin/sh
1
#/bin/bash
2
# $Id: alcasar-logout.sh 597 2011-05-05 21:03:57Z richard $
2
# $Id: alcasar-logout.sh 672 2011-07-08 15:34:22Z richard $
-
 
3
 
-
 
4
# alcasar-logout.sh
-
 
5
# by Richard REY
-
 
6
# This script is distributed under the Gnu General Public License (GPL)
-
 
7
 
-
 
8
# Déconnexion d'un ou de tous les usagers
-
 
9
# One user (or all users) disconnect
3
 
10
 
4
# deconnexion d'un usager
-
 
5
radiussecret=""
11
radiussecret=""
6
OLDIFS=$IFS
12
OLDIFS=$IFS
7
IFS=$'\n'
13
IFS=$'\n'
8
 
14
 
9
usage="Usage: alcasar-logout.sh {user_name} | {all}"
15
usage="Usage: alcasar-logout.sh {user_name} | {all}"
10
nb_args=$#
16
nb_args=$#
11
args=$1
17
args=$1
12
if [ $nb_args -eq 0 ]
18
if [ $nb_args -eq 0 ]
13
then
19
then
14
	nb_args=1
20
	nb_args=1
15
	args="-h"
21
	args="-h"
16
fi
22
fi
17
case $args in
23
case $args in
18
	-\? | -h* | --h*)
24
	-\? | -h* | --h*)
19
		echo "$usage"
25
		echo "$usage"
20
		exit 0
26
		exit 0
21
		;;
27
		;;
22
	all)
28
	all)
23
# on traite chaque équipements connus de chilli
29
# on traite chaque équipements connus de chilli
24
		for system in `/usr/sbin/chilli_query list |grep -v "\.0\.0\.0"`
30
		for system in `/usr/sbin/chilli_query list |grep -v "\.0\.0\.0"`
25
		do
31
		do
26
			active_session=`echo $system |cut -d" " -f5`
32
			active_session=`echo $system |cut -d" " -f5`
27
			active_mac=`echo $system | cut -d" " -f1`
33
			active_mac=`echo $system | cut -d" " -f1`
28
# on ne traite que les équipements exploitées par un usager authentifié 
34
# on ne traite que les équipements exploitées par un usager authentifié 
29
			if [[ $(expr $active_session) -eq 1 ]]
35
			if [[ $(expr $active_session) -eq 1 ]]
30
			then
36
			then
31
				/usr/sbin/chilli_query logout $active_mac
37
				/usr/sbin/chilli_query logout $active_mac
32
			fi
38
			fi
33
		done
39
		done
34
		;;
40
		;;
35
	*)
41
	*)
36
		echo "User-Name = $args" | /usr/bin/radclient 127.0.0.1:3799 40 $radiussecret
42
		echo "User-Name = $args" | /usr/bin/radclient 127.0.0.1:3799 40 $radiussecret
37
		;;
43
		;;
38
esac
44
esac
39
IFS=$OLDIFS
45
IFS=$OLDIFS
40
 
46
 
41
 
47