import initial
darcs-hash:20051205200640-4ec08-bfe1dd86ddf5cd83c81753d82e5da3f94ca1ab16.gz
This commit is contained in:
parent
5c77cb3bff
commit
0dc583dc36
1 changed files with 90 additions and 0 deletions
90
gestion/gen_confs/surveillance.py
Executable file
90
gestion/gen_confs/surveillance.py
Executable file
|
@ -0,0 +1,90 @@
|
||||||
|
#! /usr/bin/env python
|
||||||
|
# -*- coding: iso-8859-15 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Classe de synchronisation entre la base ldap et
|
||||||
|
la base postgresql pour la liste des exemptions
|
||||||
|
et la liste des machines.
|
||||||
|
Utilisé par generate.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
# importation des fonctions et classes
|
||||||
|
|
||||||
|
import sys, os, commands
|
||||||
|
sys.path.append('/usr/scripts/gestion')
|
||||||
|
from ldap_crans import crans_ldap
|
||||||
|
from gen_confs import gen_config
|
||||||
|
from pyPgSQL import PgSQL
|
||||||
|
|
||||||
|
# Génération des la tables d'exemptions
|
||||||
|
#######################################
|
||||||
|
|
||||||
|
class exemptions(gen_config) :
|
||||||
|
|
||||||
|
base=[('138.231.136.0/28','0.0.0.0/0'),('138.231.136.0/21','138.231.0.0/16'),('138.231.148.0/22','138.231.0.0/16')]
|
||||||
|
restart_cmd = ""
|
||||||
|
|
||||||
|
def __str__ (self) :
|
||||||
|
return "surveillance_exemptions"
|
||||||
|
|
||||||
|
def _gen (self) :
|
||||||
|
|
||||||
|
machines = crans_ldap().search('exempt=*')['machine']
|
||||||
|
|
||||||
|
pgsql = PgSQL.connect(host='/var/run/postgresql', database='filtrage', user='crans')
|
||||||
|
curseur = pgsql.cursor()
|
||||||
|
|
||||||
|
requete="DELETE FROM exemptes"
|
||||||
|
curseur.execute(requete)
|
||||||
|
|
||||||
|
for source,destination in self.base :
|
||||||
|
requete="INSERT INTO exemptes (ip_crans,ip_dest) VALUES ('%s','%s')" % (source,destination)
|
||||||
|
curseur.execute(requete)
|
||||||
|
|
||||||
|
for machine in machines :
|
||||||
|
for destination in machine.exempt() :
|
||||||
|
requete="INSERT INTO exemptes (ip_crans,ip_dest) VALUES ('%s','%s')" % (machine.ip(),destination)
|
||||||
|
curseur.execute(requete)
|
||||||
|
|
||||||
|
pgsql.commit()
|
||||||
|
|
||||||
|
# Génération des la liste des machines
|
||||||
|
######################################
|
||||||
|
|
||||||
|
class machines(gen_config) :
|
||||||
|
|
||||||
|
restart_cmd = ""
|
||||||
|
|
||||||
|
def __str__ (self) :
|
||||||
|
return "surveillance_liste_machines"
|
||||||
|
|
||||||
|
def _gen (self) :
|
||||||
|
|
||||||
|
# recherche de toutes les machines dans ldap
|
||||||
|
import sys
|
||||||
|
sys.path.append('/usr/scripts/gestion')
|
||||||
|
from ldap_crans import crans_ldap, club, adherent, crans
|
||||||
|
machines = crans_ldap().search('ip=*')['machine']
|
||||||
|
|
||||||
|
# liste des machines (on prend que les paimement ok)
|
||||||
|
machines = self.machines
|
||||||
|
# machines = crans_ldap().search('ip=*')['machine']
|
||||||
|
|
||||||
|
# connexion à la base postgresql
|
||||||
|
from pyPgSQL import PgSQL
|
||||||
|
pgsql = PgSQL.connect(host='/var/run/postgresql', database='filtrage', user='crans')
|
||||||
|
curseur = pgsql.cursor()
|
||||||
|
curseur.execute("DELETE FROM machines;")
|
||||||
|
|
||||||
|
# ajout des entrée
|
||||||
|
for m in machines:
|
||||||
|
if m.proprietaire().__class__ == club:
|
||||||
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','club',%s);"%(m.ip(),m.proprietaire().id()))
|
||||||
|
elif m.proprietaire().__class__ == adherent:
|
||||||
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','adherent',%s);"%(m.ip(),m.proprietaire().id()))
|
||||||
|
elif m.proprietaire().__class__ == crans:
|
||||||
|
curseur.execute("INSERT INTO machines (ip, type, id) VALUES (inet'%s','crans',%s);"%(m.ip(),m.id()))
|
||||||
|
|
||||||
|
# on commit
|
||||||
|
pgsql.commit()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue