Plus d'erreur sur Nectaris.
Possibilite de voir si un client est correctement authentifié en wifi. Ex : whos host=var darcs-hash:20050915094152-d1718-d35cc3f526eb9b74fbdaa2974870cad1380d0ffc.gz
This commit is contained in:
parent
586389c9c6
commit
e87420b856
2 changed files with 30 additions and 5 deletions
|
@ -13,6 +13,8 @@ set_dr () {
|
||||||
chmod 775 $1
|
chmod 775 $1
|
||||||
elif [[ $1 = "$BASE/clef-wifi" ]]; then
|
elif [[ $1 = "$BASE/clef-wifi" ]]; then
|
||||||
chmod 600 $1
|
chmod 600 $1
|
||||||
|
elif [[ $1 = "$BASE/clef-encap" ]]; then
|
||||||
|
chmod 600 $1
|
||||||
elif [[ $1 = "$BASE/secrets.py" ]] || [[ $1 = "$BASE/secrets.pyc" ]]; then
|
elif [[ $1 = "$BASE/secrets.py" ]] || [[ $1 = "$BASE/secrets.pyc" ]]; then
|
||||||
chmod 640 $1
|
chmod 640 $1
|
||||||
else
|
else
|
||||||
|
|
|
@ -50,7 +50,7 @@ base = None
|
||||||
from ldap_crans import is_actif , crans_ldap, ann_scol, crans, hostname
|
from ldap_crans import is_actif , crans_ldap, ann_scol, crans, hostname
|
||||||
from affich_tools import *
|
from affich_tools import *
|
||||||
import user_tests
|
import user_tests
|
||||||
import popen2
|
import popen2, commands
|
||||||
|
|
||||||
limit_aff_details = 1
|
limit_aff_details = 1
|
||||||
limit_aff_historique = 4
|
limit_aff_historique = 4
|
||||||
|
@ -394,6 +394,20 @@ def adher_details(adher) :
|
||||||
f += u'aucune'
|
f += u'aucune'
|
||||||
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
clients_ipsec = None
|
||||||
|
def ipsec_ok(machine) :
|
||||||
|
"""Indique si une machine est correctement authentifiée"""
|
||||||
|
prefix=""
|
||||||
|
if hostname != "nectaris":
|
||||||
|
if not os.path.isfile("/usr/scripts/gestion/clef-encap"):
|
||||||
|
return None
|
||||||
|
prefix = "ssh -i /usr/scripts/gestion/clef-encap "
|
||||||
|
clients = globals()['clients_ipsec']
|
||||||
|
if clients == None:
|
||||||
|
clients = commands.getoutput("%snetstat -r -f encap | awk '($1 == \"0/0\") {print $3}'" % prefix).split("\n")
|
||||||
|
globals()['clients_ipsec'] = clients
|
||||||
|
return machine.nom() in clients
|
||||||
|
|
||||||
def machine_details(machine) :
|
def machine_details(machine) :
|
||||||
"""
|
"""
|
||||||
|
@ -460,6 +474,7 @@ def machine_details(machine) :
|
||||||
for (client, rssi) in clients:
|
for (client, rssi) in clients:
|
||||||
# On va chercher le nom correspondant à l'adresse MAC
|
# On va chercher le nom correspondant à l'adresse MAC
|
||||||
res = base.search("mac=%s" % client)['machine']
|
res = base.search("mac=%s" % client)['machine']
|
||||||
|
authentification=""
|
||||||
if not res:
|
if not res:
|
||||||
client_nom = '????'
|
client_nom = '????'
|
||||||
coul_rssi = 'rouge'
|
coul_rssi = 'rouge'
|
||||||
|
@ -473,8 +488,16 @@ def machine_details(machine) :
|
||||||
coul_rssi = 'jaune'
|
coul_rssi = 'jaune'
|
||||||
else:
|
else:
|
||||||
coul_rssi = 'rouge'
|
coul_rssi = 'rouge'
|
||||||
f += u' %s (%s) (RSSI: %s)\n' % (client, client_nom,
|
# On va regarder si le client est authentifié
|
||||||
coul("%d" % rssi, coul_rssi))
|
auth_ok = ipsec_ok(x)
|
||||||
|
if auth_ok != None:
|
||||||
|
if auth_ok:
|
||||||
|
authentification = " ; IPSec: %s" % OK
|
||||||
|
else:
|
||||||
|
authentification = " ; IPSec: %s" % OK
|
||||||
|
f += u' %s (%s) (RSSI: %s%s)\n' % (client, client_nom,
|
||||||
|
coul("%d" % rssi, coul_rssi),
|
||||||
|
authentification)
|
||||||
else:
|
else:
|
||||||
f += coul(u'borne éteinte','rouge')
|
f += coul(u'borne éteinte','rouge')
|
||||||
f += '\n'
|
f += '\n'
|
||||||
|
@ -966,13 +989,13 @@ if __name__ == '__main__' :
|
||||||
try :
|
try :
|
||||||
__recherche()
|
__recherche()
|
||||||
except KeyboardInterrupt :
|
except KeyboardInterrupt :
|
||||||
print u"Recherche interrompue par l'utilisateur."
|
print "Recherche interrompue par l'utilisateur."
|
||||||
sys.exit(255)
|
sys.exit(255)
|
||||||
except SystemExit, c :
|
except SystemExit, c :
|
||||||
# Fin
|
# Fin
|
||||||
sys.exit(c)
|
sys.exit(c)
|
||||||
except :
|
except :
|
||||||
print u"""Une erreur fatale s'est produite durant l'exécution.
|
print """Une erreur fatale s'est produite durant l'exécution.
|
||||||
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
|
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
|
||||||
marche à suivre pour reproduire cette erreur."""
|
marche à suivre pour reproduire cette erreur."""
|
||||||
if debug :
|
if debug :
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue