BlockGroups v1.0
Routerzugang für PC-Gruppen oder einzelne PC's via CGI sperren / freigeben
1. Inhalt
- Inhalt
- Disclaimer
- Installationshinweise für FLi4L v3.0.[0-1]
- Voraussetzungen
- Installation
- Funktion und Scriptaufrufe
- Konfiguration
- OPT_BLOCKGROUPS
- BLOCKGROUPS_N
- BLOCKGROUPS_n_NAME
- BLOCKGROUPS_n_HOSTS_N
- BLOCKGROUPS_n_HOST_m_IP
- BLOCKGROUPS_n_HOST_m_NAME
- Benutzerrechte
- OPT_HTTPD
- HTTPD_USER_N
- HTTPD_USER_n_USERNAME
- HTTPD_USER_n_PASSWORD
- HTTPD_USER_n_RIGHTS
- Dank
2. Disclaimer
Ich übernehme keinerlei Verantwortung für eventuelle Schäden, die durch dieses Skript verursacht
werden könnten. Die Benutzung erfolgt ausdrücklich auf eigene Verantwortung.
3. Installationshinweise für FLi4L v3.0.[0-1]
3.1 Voraussetzungen
- In der FLI4l-Config müssen aktiviert sein:
- der HTTPD - Status-Webserver
- das opt_portfw
- arp aus den fli4l-tools
- PC's, die in Gruppen eingetragen werden, müssen feste IP's haben
Siehe: Dokumentation des HTTPD - Status-Webserver
3.2 Installation
- Man entpacke das Archiv und kopiere alles in das FLi4L-Basisverzeichnis
- Anpassen der Datei blockgroups.txt im config-Verzeichnis (OPT_BLOCKGROUPS auf YES wechseln)
- Optional: Wer das Sicherheits-Modell des Mini-HTTPD benutzen möchte, kann bei den HTTPD-Usern
in der Datei config/httpd.txt den Bereich "blockgroups" sowie die Rechte "view", "viewone" und "set"
setzen.
(siehe: Benutzerrechte)
- Nun noch eine neue Diskette erstellen oder den Router per imonc updaten, und schon kann man
loslegen.
4. Funktion und Scriptaufrufe
Ich habe dieses Script geschrieben, damit ich in der Schule schnell und einfach einer definierten
Gruppe von Computern den Zugang zum Internet sperren bzw. freischalten kann. Damit das Ganze etwas
flexibler ist, besteht außerdem die Möglichkeit, den Internetzugang für einelne PC's einer Gruppe zu
sperren bzw. freizuschalten.
Das Script kann auf zweierlei Weisen aufgerufen werden:
- Über http://fli4l/admin/blockgroups.cgi
(sollte normalerweise über "http://fli4l -> Login -> Opt - BlockGroups" erfolgen)
Dieser Aufruf zeigt alle eingetragenen Gruppen und ihre Computer. Jede Gruppe und jeder
Computer kann gesperrt oder freigeschaltet werden.
Die Möglichkeit dieses Aufrufs steht nur Benutzern zur Verfügung, bei denen entweder das Recht
HTTPD_USER_%_RIGHTS='all'
oder
HTTPD_USER_%_RIGHTS='blockgroups:view,set'
eingetragen ist.
Siehe: Benutzerrechte)
- Über http://fli4l/admin/blockgroups.cgi?action=onegroup&group=n
(kann nicht über "http://fli4l -> Login -> Opt - BlockGroups" erfolgen)
Dieser Aufruf zeigt nur eine durch das Parameter group (n = Nummer der Gruppe)
festgelegte Gruppe und ihre Computer. Es ist nur möglich, diese Gruppe und ihre Computer zu sperren
oder freizuschalten und nicht etwa auch die Computer einer anderen Klasse oder - noch lustiger -
die der Gruppe "Verwaltung".
Der Aufruf kann z.B. in eine Verknüpfung auf dem Desktop eines Lehrer-PC's im Computerraum oder auf
dem Desktop eines PC's in der Medienecke einer Klasse eingetragen werden.
Beispiele:
-
Die Rechner im Computerraum sind in Gruppe 2 eingetragen.
Aufruf: http://fli4l/admin/blockgroups.cgi?action=onegroup&group=2
-
Die Rechner in der Klasse 5a sind in Gruppe 4 eingetragen.
Aufruf: http://fli4l/admin/blockgroups.cgi?action=onegroup&group=4
Die Möglichkeit dieses Aufrufs steht natürlich allen Benutzern zur Verfügung, bei denen die Rechte
für den ersten Aufruf eingetragen sind. Außerdem können auch Benutzer mit dem Recht
HTTPD_USER_%_RIGHTS='blockgroups:viewone'
das Script auf diese zweite Weise starten.
Ist bei diesen Benutzern zusätzlich noch das Recht
HTTPD_USER_%_RIGHTS='blockgroups:viewone,set'
eingetragen, können sie auch die Sperrungen bzw. Freischaltungen vornehmen.
Siehe: Benutzerrechte)
5. Konfiguration
Die Konfiguration wird in der Datei "/fli4l-3.0.1/config/blockgroups.txt" vorgenommen.
5.1 OPT_BLOCKGROUPS
OPT_BLOCKGROUPS='yes' |
das BLOCKGROUPS-Package an- / ausschalten |
"yes" = an / "no" = aus |
5.2 BLOCKGROUPS_N
BLOCKGROUPS_N=0 |
Anzahl der eingetragenen Gruppen |
muss > 0 sein wenn OPT_BLOCKGROUPS='yes' |
5.3 BLOCKGROUPS_n_NAME
BLOCKGROUPS_n_NAME="Name" |
Name der Gruppe n
Beispiele:
BLOCKGROUPS_1_NAME='Verwaltung'
BLOCKGROUPS_2_NAME='Computerraum'
BLOCKGROUPS_3_NAME='Klasse 5a'
|
n muss durch eine Zahl ersetzt werden |
5.4 BLOCKGROUPS_n_HOSTS_N
BLOCKGROUPS_n_HOSTS_N=0 |
Anzahl der Computer in Gruppe n |
muss > 0 sein; n muss durch eine Zahl ersetzt werden |
5.5 BLOCKGROUPS_n_HOST_m_IP
BLOCKGROUPS_n_HOST_m_IP='IP' |
IP des Computers m in Gruppe n
Beispiele:
BLOCKGROUPS_1_HOST_1_IP='192.168.0.20'
BLOCKGROUPS_2_HOST_2_IP='192.168.0.51'
BLOCKGROUPS_3_HOST_4_IP='192.168.0.83'
|
n und m müssen jeweils durch eine Zahl ersetzt werden |
5.6 BLOCKGROUPS_n_HOST_m_NAME
BLOCKGROUPS_n_HOST_m_NAME='Name' |
Name des Compters m in Gruppe n
Beispiele:
BLOCKGROUPS_1_HOST_1_NAME='vwaltung_20'
BLOCKGROUPS_2_HOST_2_IP='craum_51'
BLOCKGROUPS_3_HOST_4_IP='kl5a_83'
|
n und m müssen jeweils durch eine Zahl ersetzt werden |
6. Benutzerrechte
Die Eintragung der Benutzer und ihrer Rechte wird in der Datei "/fli4l-3.0.1/config/httpd.txt"
vorgenommen.
Eine ausführliche Dokumentation dieser Datei finden Sie hier.
Von Bedeutung sind folgende Variablen:
OPT_HTTPD
HTTPD_USER_N
HTTPD_USER_n_USERNAME
HTTPD_USER_n_PASSWORD
HTTPD_USER_n_RIGHTS.
6.1 OPT_HTTPD
OPT_HTTPD='yes' |
das HTTPD-Package an- / ausschalten |
es muss "yes" eingetragen sein ! |
6.2 HTTPD_USER_N
HTTPD_USER_N=0 |
Anzahl der Benutzer |
Sie sollten hier mindestens 1 eintragen!
Andernfalls kann jeder Benutzer alles tun (z.B. alles sperren).
|
6.3 HTTPD_USER_n_USERNAME
HTTPD_USER_n_USERNAME='Name' |
Name des Benutzers n
Beispiele:
HTTPD_USER_1_USERNAME='admin'
HTTPD_USER_2_USERNAME='lehrer'
|
n muss durch eine Zahl ersetzt werden |
6.4 HTTPD_USER_n_PASSWORD
HTTPD_USER_n_PASSWORD='passwort' |
Passwort des Benutzers n
|
n muss durch eine Zahl ersetzt werden |
6.5 HTTPD_USER_n_RIGHTS
HTTPD_USER_n_RIGHTS='Rechte' |
Rechte des Benutzers n
Beispiele:
HTTPD_USER_1_USERNAME='admin'
HTTPD_USER_1_PASSWORD='xxxxxx'
HTTPD_USER_1_RIGHTS='all'
Dieser Benutzer hat alle Rechte.
HTTPD_USER_2_USERNAME='groupsadmin'
HTTPD_USER_2_PASSWORD='xxxxxx'
HTTPD_USER_2_RIGHTS='blockgroups:view,set'
Dieser Benutzer hat nur Zugriff auf "blockgroups".
Sieht aber alle Gruppen und hat alle Rechte.
HTTPD_USER_2_USERNAME='lehrer'
HTTPD_USER_2_PASSWORD='yyyyyy'
HTTPD_USER_2_RIGHTS='blockgroups:viewone,set'
Dieser Benutzer kann nur eine Gruppe sehen und sperren bzw. freischalten.
|
n muss durch eine Zahl ersetzt werden |
7. Dank
Das OPT CGIConfig2 v1.0 von Benjamin Hering
(bosborros@gmx.net) diente mir als Vorlage für mein Script.
Die entscheidenden Code-Zeilen habe ich von ihm übernommen.
Vielen Dank an ihn und das gesamte fli4l-Team.
Axel Beilhartz
abeilhartz@schul-office.de