
Maintenant radius dit aux switchs quel vlan mettre en non taggé. Ça permet de switcher facilement sur le bon vlan suivant le type de compte et ça évite la désynchronisation de la configuration des switchs. darcs-hash:20080904041337-af139-665172ad09d19f439c6aa8ee6c529752c0e80d95.gz
507 lines
15 KiB
Python
507 lines
15 KiB
Python
# -*- python -*-
|
|
# -*- coding: iso-8859-15 -*-
|
|
|
|
############################################
|
|
## Définition du comportement des scripts ##
|
|
############################################
|
|
|
|
from time import localtime
|
|
|
|
# Administratif
|
|
caution = 0
|
|
#Précablage possible ?
|
|
precab = False
|
|
|
|
# Année scolaire en cours
|
|
dat = localtime()
|
|
if dat[1]<9 : ann_scol = dat[0]-1
|
|
else : ann_scol = dat[0]
|
|
|
|
# Bloquage si carte d'étudiants manquante pour l'année en cours
|
|
# Au niveau du Squid
|
|
bl_carte_et_actif = False
|
|
# L'adhérent est considéré comme paiement pas ok
|
|
bl_carte_et_definitif = False
|
|
|
|
# Gel des cableurs pas a jour de cotisation
|
|
# Les droits ne sont pas retires mais il n'y a plus de sudo
|
|
bl_vieux_cableurs = False
|
|
|
|
##Création de comptes
|
|
# Gid des comptes créés
|
|
gid=100
|
|
club_gid=120
|
|
# Shell
|
|
login_shell='/bin/zsh'
|
|
club_login_shell='/usr/bin/rssh'
|
|
# Longueur maximale d'un login
|
|
maxlen_login=15
|
|
|
|
## Répertoire de stockage des objets détruits
|
|
cimetiere = '/home/cimetiere'
|
|
|
|
## Adresses mac utiles
|
|
mac_komaz = '00:19:BB:31:3B:80'
|
|
mac_wifi = '00:e0:81:58:d1:39'
|
|
mac_titanic = 'aa:73:65:63:6f:76'
|
|
|
|
## Serveur principal de cfengine
|
|
cfengine_main = "vert.adm.crans.org"
|
|
|
|
## Impression
|
|
class impression:
|
|
"""Cette classe contient toutes les variables
|
|
de prix concernant l'impression"""
|
|
|
|
# Découvert autorisé (en euro)
|
|
decouvert = 0.
|
|
|
|
###### Variables de prix (tout est exprimé en centimes) ######
|
|
|
|
# Cout imprimante : 9150,60 euros
|
|
# 200.000 pages par mois, garantie 1an
|
|
# Donc ammortissement : 0.3813 centimes par pages
|
|
amm = 0.40
|
|
|
|
# Cout d'une feuille A4
|
|
# 19.67 euros les 2500 feuilles
|
|
c_a4 = 0.786968 + amm
|
|
|
|
# Cout d'une feuille A3
|
|
# 59.68 euros les 2500 feuilles
|
|
c_a3 = 2.387216 + amm
|
|
|
|
# Cout d'un transparent
|
|
# 15.85 euros les 100 transparents
|
|
c_trans = 15.85 + amm
|
|
|
|
# Cout d'un passage dans le tambour (noir seulement)
|
|
# recto = 1 passage ; recto_v = 2 passages
|
|
# Tambour : 328.90euros pour 40.000 passages
|
|
# Kit transfert image : 361.78euros pour 200.000 passages
|
|
# Kit fusion image : 328.90euros pour 100.000 passages
|
|
c_tambour_noir = 1.332
|
|
|
|
# Cout suplementaire pour passage dans les tambours couleurs
|
|
# 1406.50 les 3 tambours couleurs pour 40.000 passages
|
|
c_tambour_coul = 3.51624
|
|
|
|
# Une feuille à 5% = 5 unites
|
|
# Cout de 1 unité de noir
|
|
# 1 toner fait 125.000 unites et coute 203.32euros
|
|
# 1 kit de nettoyage fait 250.000 unites et coute 63.30euros
|
|
c_noir = 0.18798
|
|
|
|
# Cout de 1 unité de couleur
|
|
# 1 tonner fait 125.000 unites et coute 328.90euros
|
|
c_coul = 0.78936
|
|
|
|
# Prix d'une agrafe
|
|
c_agrafe = 4800. / 5000. / 3.
|
|
|
|
# Prix de la facture
|
|
# 2500 feuilles rouges à 40.07 euros (pour l'instant l'encre
|
|
# de la facture est gracieusement offerte)
|
|
# fact = 1.6028
|
|
fact = 0
|
|
|
|
################# FIN des variables de prix ######################
|
|
|
|
# L'adresse mail de l'imprimante
|
|
From_imprimante = 'impression@crans.org'
|
|
|
|
## Pour le controle d'upload
|
|
class upload:
|
|
|
|
# liste des exemptations générales
|
|
exempt = [ ['138.231.136.0/21', '138.231.0.0/16'],
|
|
['138.231.148.0/22', '138.231.0.0/16'] ]
|
|
|
|
# limite soft
|
|
soft = 100
|
|
|
|
# limite hard
|
|
hard = 700
|
|
|
|
# envoi des mails à disconnect@
|
|
disconnect_mail_soft = False
|
|
disconnect_mail_hard = True
|
|
|
|
# expéditeur des mails de déconnexion
|
|
expediteur = "disconnect@crans.org"
|
|
|
|
# textes des mails
|
|
message_soft = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: [CRANS] Attention !!
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Bonjour %(proprio)s,
|
|
|
|
Nous t'informons que ta (tes) machine(s) envoie(nt) une quantité
|
|
importante de données vers l'extérieur (%(upload)s Mo en 24 heures).
|
|
|
|
*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.*
|
|
|
|
Il signifie que tu as envoyé plus de 100 Mo au cours des dernières 24
|
|
heures. Cela peut venir du fait que, *par exemple*, tu essaies
|
|
d'envoyer des fichiers de grosse taille à l'extérieur de la zone
|
|
crans, ou encore que tu as fait une utilisation importante de
|
|
logiciels envoyant une très grande quantité de petites données
|
|
(vidéo-conférence par exemple). Il peut y avoir d'autres raisons.
|
|
|
|
|
|
Si cela continuait, et que tu dépassais la limite acceptable des 700
|
|
Mo sur 24 heures, tu serais automatiquement déconnecté du réseau pour
|
|
une durée de 24 heures. Il t'appartient donc de surveiller cela de
|
|
plus près et de faire en sorte que tes machines n'uploadent pas de
|
|
manière excessive à l'avenir.
|
|
|
|
|
|
Pour plus d'informations, tu peux consulter la page:
|
|
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
|
|
|
|
Si tu as des questions, contacte disconnect@crans.org
|
|
|
|
NB : L'upload consiste en l'envoi de données vers des machines n'étant
|
|
pas branchées sur le CRANS.
|
|
|
|
--
|
|
Disconnect team"""
|
|
|
|
message_hard = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: [CRANS] Déconnexion temporaire
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Bonjour %(proprio)s,
|
|
|
|
Tu as temporairement été déconnecté du réseau en raison de l'envoi
|
|
trop important de données vers l'extérieur (%(upload)s Mo en 24h).
|
|
|
|
Tu as toujours accés au web ainsi qu'à tes mails crans mais tous les
|
|
autres services te sont suspendus. Si cela devait se renouveller trop
|
|
souvent, tu serais déconnecté complétement pour une durée plus
|
|
importante. Il t'appartient donc de surveiller cela de plus près et de
|
|
faire en sorte que ta machine n'uploade plus de manière excessive à
|
|
l'avenir.
|
|
|
|
Pour plus d'informations, tu peux consulter la page :
|
|
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
|
|
|
|
Si tu as des questions, contacte disconnect@crans.org
|
|
|
|
NB: L'upload consiste en l'envoi de données vers des machines n'étant
|
|
pas branchées sur le CRANS.
|
|
|
|
--
|
|
Disconnect team"""
|
|
|
|
|
|
message_disconnect_soft = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: %(proprio)s uploade
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
%(proprio)s uploade actuellement %(upload)s Mo.
|
|
|
|
--
|
|
Message créé par deconnexion.py"""
|
|
|
|
message_disconnect_hard = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: %(proprio)s a été déconnecté
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
%(proprio)s a été déconnecté pour upload (%(upload)s Mo).
|
|
|
|
--
|
|
Message créé par deconnexion.py"""
|
|
|
|
message_disconnect_multi = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: %(proprio)s a été déconnecté %(nbdeco)d fois pour upload en un mois !
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
L'adhérent %(proprio)s a été déconnecté %(nbdeco)d fois pour upload en un mois !
|
|
|
|
Le PS a été généré et se trouve sur zamok :
|
|
%(ps)s
|
|
|
|
--
|
|
Message créé par deconnexion.py"""
|
|
|
|
|
|
message_demenagement = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: Déménagement non déclaré
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Bonjour,
|
|
|
|
Il semble que tu étais inscrit dans la chambre %(chambre), mais un
|
|
autre adhérent s'y est inscrit, ce qui suppose que tu n'y es plus.
|
|
Pourrais tu nous préciser ta nouvelle chambre ou adresse stp ?
|
|
Si tu es parti du campus, souhaites-tu garder tes machines ?
|
|
|
|
--
|
|
Merci par avance,
|
|
Les membres actifs du Crans"""
|
|
|
|
|
|
# Classe pour les paramètres du firewall #
|
|
##########################################
|
|
class conf_fw:
|
|
mark = { 'proxy' : '0x2',
|
|
'bittorrent' : '0x1' }
|
|
|
|
# Valeur du masque utilisé pour créer un arbre dans les filtres
|
|
mask = [24]
|
|
|
|
# Classe pour la détection des virus #
|
|
######################################
|
|
class virus:
|
|
# Nombre de Flood Par heure
|
|
flood = 100
|
|
virus = 10
|
|
|
|
# Classe pour la détection du p2p #
|
|
###################################
|
|
class p2p :
|
|
# Limite de débit pour l'ensemble du p2p classifié, en octets/s
|
|
# identique en upload et download
|
|
debit_max = 1000000 # = 1 Mb/s = 125 ko/s
|
|
debit_adh = 12000 # = 12 Kb/s = 1500 o/s (>= MTU [1500 bytes])
|
|
|
|
# Limite de paquets acceptés par protocole P2P en deux heures
|
|
limite = {'Bittorrent': 20,
|
|
'AppleJuice': 50,
|
|
'SoulSeek': 500,
|
|
'WinMX': 50,
|
|
'eDonkey': 50,
|
|
'DirectConnect': 50,
|
|
'KaZaa': 50,
|
|
'Ares': 50,
|
|
'GNUtella': 50 }
|
|
# Envoi des mails à disconnect@
|
|
disconnect_mail = True
|
|
|
|
# Expéditeur des mails de déconnexion
|
|
expediteur = "disconnect@crans.org"
|
|
|
|
avertissement = u"""From: %(From)s
|
|
To: %(To)s
|
|
Subject: Détection de p2p sur la machine %(hostname)s
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
La machine %(hostname)s a été déconnectée pendant 24h pour
|
|
utilisation du protocole %(protocole)s.
|
|
Nombre de paquets : %(nb_paquets)s paquets depuis le %(datedebut)s.
|
|
|
|
--
|
|
Message créé par deconnexion.py"""
|
|
deconnexion = u"""From: %(From)s
|
|
To: %(To)s
|
|
Subject: Avis de Déconnexion
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Bonjour,
|
|
Nous avons détecté que ta machine, %(hostname)s utilisait le
|
|
*protocole* %(protocole)s.
|
|
|
|
Cela signifie :
|
|
- Ou bien que tu utilises le logiciel qui a le même nom
|
|
que ce protocole,
|
|
- Ou bien que tu utilises un logiciel qui utilise le
|
|
protocole en question pour partager des fichiers.
|
|
|
|
Or l'usage de *protocoles* de type peer to peer est interdit
|
|
sur notre réseau, conformément aux documents que tu as acceptés
|
|
en adhérant au CR@NS.
|
|
|
|
Lorsqu'un seul des adhérents du CR@NS utilise des protocoles interdits,
|
|
il pénalise l'ensemble des adhérents de l'association.
|
|
|
|
Tu seras donc déconnecté 24h.
|
|
|
|
--
|
|
Disconnect Team"""
|
|
|
|
message_disconnect_multi = u"""From: %(from)s
|
|
To: %(to)s
|
|
Subject: %(proprio)s a été déconnecté %(nbdeco)d fois pour p2p en un an !
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
L'adhérent %(proprio)s a été déconnecté %(nbdeco)d fois pour p2p en un an !
|
|
|
|
Le PS a été généré et se trouve sur zamok :
|
|
%(ps)s
|
|
|
|
--
|
|
Message créé par deconnexion.py"""
|
|
|
|
|
|
#############################
|
|
## Paramètres des machines ##
|
|
#############################
|
|
|
|
## >>>>>>>>>>>>>>> La modification des paramètres suivants doit se
|
|
## >> ATTENTION >> faire avec précaution, il faut mettre la base à
|
|
## >>>>>>>>>>>>>>> jour en parralèle de ces modifs.
|
|
|
|
# Sous réseaux alloués à chaque type de machine ou bâtiment
|
|
# Pour la zone wifi, il faut penser à modifier le /etc/network/interfaces
|
|
# de sila, zamok et komaz pour ajouter les zones en plus (et de
|
|
# faire en sorte qu'ils prennent effet immédiatement ; c'est important pour
|
|
# komaz car c'est la route par défaut mais aussi pour zamok et sila
|
|
# à cause de leur firewall et de leur patte wifi.
|
|
NETs = { 'serveurs' : [ '138.231.136.0/28' ],
|
|
'b' : [ '138.231.137.0/24' ],
|
|
'm' : [ '138.231.138.0/24' ],
|
|
'c' : [ '138.231.139.0/24' ],
|
|
'e' : [ '138.231.143.0/24' ], # E = EXT, on les colle sur le H
|
|
'p' : [ '138.231.140.0/25' ],
|
|
'a' : [ '138.231.140.128/25'],
|
|
'g' : [ '138.231.141.128/25' ], # on donne des ip au J
|
|
'i' : [ '138.231.142.0/25' ],
|
|
'j' : [ '138.231.142.128/25','138.231.141.0/25'], # il y a pénurie d'@IP au J, on ajoute la moitié de celles du G
|
|
'h' : [ '138.231.143.0/24' ],
|
|
'vlan-adm' : [ '10.231.136.0/24' ],
|
|
'bornes' : [ '138.231.148.0/24' ],
|
|
'wifi-adh' : [ '138.231.144.0/24', '138.231.145.0/24', '138.231.146.0/24',
|
|
'138.231.147.0/24', '138.231.149.0/24', '138.231.150.0/24', '138.231.151.0/24'],
|
|
'fil' : [ '138.231.136.0/21' ],
|
|
'wifi': [ '138.231.148.0/21' ],
|
|
'all' : [ '138.231.136.0/21', '138.231.148.0/21' ]
|
|
}
|
|
|
|
NETs_regexp = { 'all' : '^138\.231\.1(3[6789]|4[0123456789]|5[01])\.\d+$' }
|
|
|
|
# Domaines dans lesquels les machines sont placées suivant leur type
|
|
domains = { 'machineFixe': 'crans.org',
|
|
'machineCrans': 'crans.org',
|
|
'machineWifi': 'wifi.crans.org',
|
|
'borneWifi': 'wifi.crans.org' }
|
|
|
|
# VLans
|
|
vlans = {
|
|
# VLan d'administration
|
|
'adm' : 2,
|
|
# VLan pour le wifi
|
|
'wifi' : 3,
|
|
# VLan pour le wifi de l'ens
|
|
'hotspot' : 4,
|
|
# VLan des gens qui paient
|
|
'adherent' : 1,
|
|
# VLan des inconnus
|
|
'accueil' : 7,
|
|
# VLan des radins
|
|
'radin' : 6
|
|
}
|
|
|
|
#######################
|
|
## Mail de bienvenue ##
|
|
#######################
|
|
#From est respbats@crans.org
|
|
txt_mail_bienvenue = """From: Crans <%(From)s>
|
|
To: %(To)s
|
|
Subject: [CRANS] Bienvenue au Cr@ns !
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Si tu lis ce mail, c'est que ton inscription à l'association est effective !
|
|
|
|
Rappel : Le site web de l'association est http://www.crans.org.
|
|
|
|
Par ailleurs, toutes les informations concernant l'association sont
|
|
disponibles sur le WIKI à l'adresse http://wiki.crans.org
|
|
|
|
Notamment, il est important de prendre le temps de lire la page :
|
|
http://wiki.crans.org/CransPratique
|
|
Elle regroupe toutes les informations nécessaires à l'utilisation des
|
|
ressources de l'association.
|
|
|
|
Sans lire attentivement ce document, l'accès au Web peut ne pas
|
|
fonctionner.
|
|
|
|
-----
|
|
L'accés aux news et au wiki sont limités à un usage interne au CRANS.
|
|
Pour y avoir accés depuis l'extérieur il faut utiliser un mot de passe:
|
|
- Pour les news :
|
|
* Utilisateur : Vivelapa
|
|
* Mot de passe : ranoia!
|
|
- Pour le wiki :
|
|
* Utilisateur : ViveLe
|
|
* Mot de passe : Wiki!
|
|
-----
|
|
|
|
Sur ce, bienvenue au Cr@ns !
|
|
|
|
PS: Il t'est conseillé de conserver ce mail à toutes fin utiles
|
|
--
|
|
Les membres actifs."""
|
|
|
|
|
|
txt_ajout_droits = """From: Crans <%(From)s>
|
|
To: %(To)s
|
|
Subject: [CRANS] Ajout des droits %(Droit)s
|
|
Content-Type: text/plain; charset="iso-8859-15"
|
|
|
|
Bonjour,
|
|
|
|
Tu viens d'être doté des droits %(Droit)s au Cr@ns.
|
|
Une description de ces droits et de la manière
|
|
de les utiliser est disponible sur la page :
|
|
|
|
%(Page)s
|
|
|
|
Si tu as des questions, n'hésite pas à les poser
|
|
à d'autres câbleurs ou aux nounous.
|
|
|
|
--
|
|
Les nounous"""
|
|
|
|
pages_infos_droits = { "Cableur" : "https://wiki.crans.org/%C3%8AtreC%C3%A2bleur",
|
|
"Imprimeur" : "https://wiki.crans.org/%C3%8AtreC%C3%A2bleur/%C3%8AtreImprimeur",
|
|
"Bureau" : "https://wiki.crans.org/%C3%8AtreC%C3%A2bleur/%C3%8AtreLeBureau",
|
|
"Moderateur" : "https://wiki.crans.org/CransTechnique/ModerationDesNews"
|
|
}
|
|
|
|
|
|
txt_charte_MA = u"""From: Crans <%(From)s>
|
|
To: %(To)s
|
|
Subject: [CRANS] Charte des membres actifs
|
|
Content-Type: text/plain; charset="iso-8859-1"
|
|
|
|
Bonjour,
|
|
|
|
Il semble que tu es membre actif du CRANS et que tu n'as pas
|
|
signé la charte des membres actifs. Si tu n'es pas membre actif
|
|
ou si tu as signé la charte des membres actifs, merci de nous le
|
|
signaler. Sinon, il faudrait signer la charte et nous la rendre
|
|
rapidement. Tu peux l'imprimer à partir du fichier suivant :
|
|
|
|
https://wiki.crans.org/CransAdministratif?action=AttachFile&do=get&target=charte_ma.pdf
|
|
|
|
Merci par avance,
|
|
|
|
--
|
|
Le bureau du CRANS"""
|
|
|
|
txt_menage_cableurs = u"""From: Crans <%(From)s>
|
|
To: %(To)s
|
|
Subject: [CRANS] Suppression de droits
|
|
Content-Type: text/plain; charset="iso-8859-1"
|
|
|
|
Bonjour,
|
|
|
|
Les droits que tu avais sur ton compte CRANS ont été retirés
|
|
car tu ne cotises pas cette année et que tes droits ne semblent
|
|
pas être utiles pour une utilisation à distance. Si nous avons
|
|
commis une erreur, nous te prions de nous en excuser. Si tu
|
|
souhaites par la suite retrouver des droits, nous serons bien sûr
|
|
heureux de te les remettre.
|
|
|
|
Cordialement,
|
|
|
|
--
|
|
Le bureau du CRANS"""
|