BlockGroups v1.0

Routerzugang für PC-Gruppen oder einzelne PC's via CGI sperren / freigeben

1. Inhalt

  1. Inhalt
  2. Disclaimer
  3. Installationshinweise für FLi4L v3.0.[0-1]
    1. Voraussetzungen
    2. Installation
  4. Funktion und Scriptaufrufe
  5. Konfiguration
    1. OPT_BLOCKGROUPS
    2. BLOCKGROUPS_N
    3. BLOCKGROUPS_n_NAME
    4. BLOCKGROUPS_n_HOSTS_N
    5. BLOCKGROUPS_n_HOST_m_IP
    6. BLOCKGROUPS_n_HOST_m_NAME
  6. Benutzerrechte
    1. OPT_HTTPD
    2. HTTPD_USER_N
    3. HTTPD_USER_n_USERNAME
    4. HTTPD_USER_n_PASSWORD
    5. HTTPD_USER_n_RIGHTS
  7. 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

Siehe: Dokumentation des HTTPD - Status-Webserver

3.2 Installation


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:
  1. Ü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)

  2. Ü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 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