
Il serait peut etre souhaitable de remanier le reste du texte. darcs-hash:20060908194145-72cb0-8feac6cfa1fe66392dad5b49ac75375d2eeb5123.gz
391 lines
12 KiB
Python
391 lines
12 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
|
|
|
|
##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:04:23:c9:29:72'
|
|
mac_wifi = '00:e0:81:58:d1:39'
|
|
|
|
## 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.3813
|
|
|
|
# Cout d'une feuille A4
|
|
# 230.23 euros les 25000 feuilles
|
|
c_a4 = 0.9210 + amm
|
|
|
|
# Cout d'une feuille A3
|
|
# 107.52 euros les 5000 feuilles
|
|
c_a3 = 2.1504 + amm
|
|
|
|
# Cout d'un transparent
|
|
# 44,27 euros les 50 transparents
|
|
c_trans = 88.54 + amm
|
|
|
|
# Cout d'un passage dans le tambour (noir seulement)
|
|
# recto = 1 passage ; recto_v = 2 passages
|
|
# Tambour : 419euros pour 400.000 passages
|
|
# Kit transfert image : 383euros pour 200.000 passages
|
|
# Kit fusion image : 287euros pour 100.000 passages
|
|
c_tambour_noir = 0.5833
|
|
|
|
# Cout suplementaire pour passage dans les tambours couleurs
|
|
# 1491 les 3 tambours couleurs pour 400.000 passages
|
|
c_tambour_coul = 0.3728
|
|
|
|
# Une feuille à 5% = 5 unites
|
|
# Cout de 1unite de noir
|
|
# 1 tonner fait 125.000 unites et coute 164euros
|
|
# 1 kit de nettoyage fait 250.000 unites et coute 51euros
|
|
c_noir = 0.1516
|
|
|
|
# Cout de 1unite de couleur
|
|
# 1 tonner fait 125.000 unites et coute 333euros
|
|
# 1 kit de nettoyage fait 250.000 unites et coute 51euros
|
|
c_coul = 0.2868
|
|
|
|
# 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
|
|
|
|
################# 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] Avertissement
|
|
|
|
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
|
|
|
|
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
|
|
|
|
%(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é
|
|
|
|
%(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 !
|
|
|
|
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"""
|
|
|
|
# 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
|
|
|
|
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
|
|
|
|
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 !
|
|
|
|
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.0/24' ],
|
|
'i' : [ '138.231.142.0/25' ],
|
|
'j' : [ '138.231.142.128/25'],
|
|
'h' : [ '138.231.143.0/24' ],
|
|
'vlan-adm' : [ '138.231.144.0/24' ],
|
|
'bornes' : [ '138.231.148.0/24' ],
|
|
'wifi-adh' : [ '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/22' ],
|
|
'all' : [ '138.231.136.0/21', '138.231.148.0/22' ]
|
|
}
|
|
|
|
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' }
|
|
|
|
#######################
|
|
## Mail de bienvenue ##
|
|
#######################
|
|
#From est respbats@crans.org
|
|
txt_mail_bienvenue = """From: Crans <%(From)s>
|
|
To: %(To)s
|
|
Subject: [CRANS] Bienvenue au Cr@ns !
|
|
|
|
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."""
|
|
|
|
|