Linux-Arbeitskreis Hamburg |
Für eine weitreichende Akzeptanz unserer Intranet-Lösung ist es
wichtig, daß sich die Systembetreuer nicht von vornherein in Linux
einarbeiten müssen. Deshalb ermöglicht dieses Programmpaket die
Administartion des Servers über das Intranet. Auf einem beliebigen Client
muß ein beliebiger Browser gestartet werden, von dem aus das Programmpaket
mittels http://192.168.1.1/webtools/ gestartet wird.
Zuerst erfolgt dann ein Authentisierungsprozeß, bei dem auch die Rechte
des Benutzers festgestellt werden. Rechte gibt es in drei Stufen:
Diese Rechte können beliebigen Linux-Gruppen zugeordnet werden (In der Grundinstallation sind das die Gruppen admin, lehrer bzw schueler). Nach erfolgreicher Authentisierung sieht jeder Benutzer nur die Funktionen, zu deren Ausführung er auch berechtigt ist.
Das ganze Programmpaket ist modular aufgebaut und erweiterbar. Alle Programme sind in Perl geschrieben, so daß der Quelltext immer vorhanden ist. Neue Funktionen kann man jederzeit einbauen, indem man eigenen Ordner innerhalb von /usr/local/httpd/htdocs/webtools/admin/ anlegt und dort mindestens die Datei modinfo.dat erzeugt, die alle weiteren Informationen enthält. Die Startroutine des Web-Tools Paketes sucht alle entsprechenden Ordner durch und wertet die Dateien modinfo.dat aus. Die Reihenfolge der Auswertung ergibt sich alphabetisch aus den Verzeichnisnamen. Deshalb beginnen die vorliegenden Verzeichnisnamen mit zwei Ziffern.
Es gibt immer wieder Berichte über Probleme bei Downloads aus Netscape
heraus. Die Programme werden nicht gespeichert sondern angezeigt.
Klicken Sie dann einfach mit der rechten Maustaste auf den Link. Aus dem
auftauchenden Kontextmenü wählt man dann den Menüpunkt
"Verknüpfung speichern unter", so sollte das klappen.
Es wird niemand behaupten, daß die vorliegende Version von Web-Tools
fertig ist. Sie ist aber einsatzbereit. Außerdem ist durch die eingebaute
Update-Funktion eine Aktualisierung jederzeit leicht möglich.
Unstimmingkeiten in der Oberfläche und der Bedienung werden in der
nächsten Zeit sicherlich beseitigt werden. Auch die Zahl der Funktionen
wird zunehmen.
Es muß das Grundpaket webtools_v10.tgz und die aktualisierte /etc/httpd/access.conf geladen (s.o.) und z.B. auf eine DOS-Diskette kopiert werden. Dann begibt man sich in das Verzeichnis /usr/local/httpd/htdocs und entpackt das Archiv dort:
cd /usr/local/httpd/htdocs mdir a: mcopy a:webtools_10.tgz tar xvfz webtools_v10.tgz Anschließend kopiert man noch die aktualisierte /etc/httpd/access.conf (s.u.) cd /etc/httpd mcopy a:access.conf Zum Abschluß müssen wir den Apache neu starten init 1 init 2
(Nach beiden Befehlen mu0 man nach kurzer Wartezeit einmal ENTER drücken, um wieder den Eingabeprompt zu bekommen)
Die veränderte access.conf informiert den Webserver Apache darüber, daß er auch in dem Web-Tools Ordner Programme ausführen darf, dafür aber immer ein Authentisierungsprozeß gefordert wird.
Dazu muß der folgende Abschnitt in die Datei /etc/httpd/access.conf aufgenommen werden:
<Directory /usr/local/httpd/htdocs/webtools/admin> Addtype application/x-httpd-cgi .cgi Options Indexes FollowSymLinks EXECcgi authType Basic authuserFile /etc/httpd/yfh.pwd authName Schul-Admin require valid-user </Directory> <Directory /usr/local/httpd/htdocs/webtools> Addtype application/x-httpd-cgi .cgi Options Indexes FollowSymLinks EXECcgi </Directory>
Und zwar sollten diese Zeilen direkt hinter folgendem Anfangsabschnitt eingefügt werden:
# access.conf: Global access configuration # Online docs at http://www.apache.org/ # This file defines server settings which affect which types of services # are allowed, and in what circumstances. # Each directory to which Apache has access, can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # Originally by Rob McCool <Directory /> AllowOverride None Options None </Directory>
Diese Änderungen sind der acess.conf, die auf dem Bildungsserver liegt, schon vorgenommen.
Was man nicht vergessen darf ist, daß man zumindest einen Administartator
unter Yast einrichten muß. Dazu startet man Yast von der
Linux-Konsole, geht dann auf Administration des Systems, dann
auf Gruppenverwaltung und tippt dort in der ersten Zeile admin
ein. Wenn es diese Gruppe schon gibt, dann werden die bisherigen Daten angezeigt,
sonst wird eine neue Gruppe kreiert. In der letzten Zeile trägt man
seinen eigenen Benutzernamen ein. Falls dort schon Namen stehen, muß
der neue Name von den bisherigen durch ein Komma (ohne Leerzeichen) abgetrennt
sein. Nun kann man die Eintragungen mit F4 ändern oder die Gruppe
anlegen.
Nun verläßt man Yast mit dreimal ESC. Danach braucht man Yast
eigentlich nicht mehr!
Alle weiteren Änderungen kann man dann als Administrator über das WebTools Paket vornehmen.
Für das Web-Tools-Paket sind folgenden Dateien und Verzeichnisse von Bedeutung:
/usr/local/httpd/htdocs/webtools | Das Stammverzeichnis für das Web-Tools Paket. |
/usr/local/httpd/htdocs/webtools/config.pl | Konfigurationsdatei für das Programmpaket. Hier werden Pfade und Rechte definiert. |
/etc/httpd/access.conf | Eine der Konfigurationsdateien des Apache muß angepaßt werden. |
modinfo.dat | In jedem Ordner mit Web-Tools Funktionen findet sich diese Datei. |
index.cgi | Die meisten Funktionen des Paketes benötigen Root-Rechte, werden aber nur mit den Rechten von wwwrun ausgeführt. Deshalb muß bei dem Programm, das gestartet wird, das SIUD-Bit gesetzt sein. Das hat bei Perl-Programmen keine Wirkung, deshalb wird jedes Perl-Script von einem kleinen C-Programm gestartet, bei dem das SUID-Bit gesetzt ist. |
index.pl | Es macht Sinn, die jeweiligen Start-Scripten mit diesem Namen zu belegen. Gestartet wird das Script dann von index.cgi. |
/usr/local/httpd/htdocs/webtools/cgiclean | Löscht alle Dateien *.cgi unterhalb des Admin-Verzeichnisses, damit sie von makecgi erneut aufgebaut werden können. |
/usr/local/httpd/htdocs/webtools/makecgi | Dieses Programm erstellt für jedes ausführbare *.pl Programm unterhalb von admin eine gleichnamiges Startprogramm mit der Endung *.cgi und setzt es SUID |
/usr/local/httpd/htdocs/webtools/index.html | Diese Datei wird vom Webserver gestartet und lädt pwdupdate.cgi mittels Refresh. |
/usr/local/httpd/htdocs/webtools/pwdup.pl | Bibliotheksroutine für das Passwortupdate |
/usr/local/httpd/htdocs/webtools/userdata.pl | Bibliotheksroutine für die Benutzerverwaltung |
/usr/local/httpd/htdocs/webtools/formdata.pl | Bibliotheksroutine, wertet einen String mit CGI-Daten aus und schreibt die Daten in ein Hash-Arrax. Unsichere zeichen werden in Hex-Codes konvertiert. |
/usr/local/httpd/htdocs/webtools/miscfunc.pl | Bibliotheksroutine mit verschiedenen Funktionen |
/usr/local/httpd/htdocs/webtools/output.pl | Bibliotheksroutine mit Ausgabe-Funktionen z.B. für die Oberfläche |
/usr/local/httpd/htdocs/webtools/pwdupdate.cgi | Mit diesem Programm wird pwdupdate.pl mit SUID gestartet |
/usr/local/httpd/htdocs/webtools/pwdupdate.pl | Dieses Programm erstellt die Passwortdatei für den Apache aus der Standardpasswortdatei von Linux. |
/usr/local/httpd/htdocs/webtools/source/setroot2.c | Quelltext für die *.cgi Programme. Wird von makecgi benutzt. |
webt_v11-tgz 21.10.98 |
Totalupdate. Nahezu alle Funktionen wurden modifiziert und beschleunigt.
Neue Funktionen sind:
|
uucp.tgz 16.11.98 |
Eigentlich kein Update, sondern nur ein Service, nämlich die Datei, die das UUCP und News-System an die WiNShuttle Änderungen vom 17.11.98 anpasst. |
update2.tgz 20.11.98 |
Die Benutzerverwaltung wurde deutlich beschleunigt. Die UUCP-Umstellung
wird nun auch von den WebTools berücksichtigt. Ein kleines Problem in
der Update-Funktion wurde beseitigt (mehrer Archive in /tmp). Neu ist die Funktion Squid-Scan. |
Die Startseite zeigt an, ob die Internet-Verbindung aktuell erlaubt ist oder nicht. Sie kann dann sowohl ab- als auch aufgebaut werden.
Berechtigt: Admin, Lehrer
Es wird genau das gemacht, was die Funktion verspricht. Es kann das eigene Passwort geändert werden.
Berechtigt: Admin, Lehrer, Schüler
In unserer Standard-Konfiguration wird der Mailaustausch per UUCP nachts
von einem Cron-Job ausgeführt. Mit diesem Programm kann der Austausch
jederzeit durchgeführt werden.
Dazu wird erst die Mail per uucico ausgetausch, anschließend mit Sendmail
verteilt.
Berechtigt: Admin, Lehrer
Mit diesem Programm können die Rechte für Dateien und Verzeichnisse angesehen und verändert werden. Ein Administrator kommt an fast alle Dateien, Lehrer und Schüler nur an ihre eigenen Dateien. Zukünftig sollen Lehrer auch an die Dateien ihrer Schüler kommen können.
Berechtigt: Admin, Lehrer (eingeschränkt), Schüler (eingeschränkt)
Das CD-Rom Laufwerk muß nach dem Einlegen einer CD aktiviert werden. Das geschieht hier über den Menüpunkt mount. Erst nach einem unmounten (Deaktivieren) kann die CD dann wieder aus dem Laufwerk genommen werden. Das Programm zeigt, wenn eine CD gemountet ist, deren Inhaltsverzeichnis an.
Berechtigt: Admin, Lehrer
Über diese Funktion können neue Linux-Gruppen angelegt werden oder vorhandene Gruppen gelöscht werden. Es können aber nur Gruppen bearbeitet werden, die eine ID von mindestens 100 haben.
Berechtigt: Admin
Es können Benutzer angelegt und gelöscht, sowie die Daten und Paßwörter der vorhandenen Benutzer geändert werden. Es werden aber nur Benutzer mit einer ID von mindestens 500 angezeigt.
Alle Benutzer bearbeiten darf nur ein Administrator. Lehrer haben nur Zugriff auf die Benutzer, die sie selber mit diesem Programmpaket auch angelegt haben.
Berechtigt: Admin, Lehrer (eingeschränkt)
Diese Funktion ist nicht ganz ungefährlich, aber hoffentlich sehr praktisch.
Es wird auf ftp://lbs.hh.schule.de nachgeschaut, ob Updates für
das Web-Tools Paket vorliegen und diese dann geladen und eingespielt. Alle
Aktionen müssen Schritt für Schritt bestätigt werden. Die
Update bleiben nur innerhalb des Web-Tools Verzeichnisses. Andere Dateien
und Ordner werden hier nicht beeinflußt.
Im letzten Schritt können dann auch Programme ausgeführt werden,
die in einem speziellen Verzeichnis abgelegt wurden. Diese Programme können
dann auch andere Bereiche manipulieren.
Berechtigt: Admin
Das Programm SQUID (unser Cache) ist in der Lage Sperrlisten zu verwalten.
WWW-Adressen, die in einer dieser Listen auftauchen können dann nicht
mehr bezogen werden.
Es gibt zwei Sorten von Listen, die Domain-Liste, alle Domains die hier
auftauchen können nicht aufgerufen werden. Bei Auslieferung eingetragen
sind playboy.com, penthouse.com und whitehouse.com (das www kann jeweils
entfallen).
Bei der RegExp-Liste können die URL's nicht mehr bezogen werden, in
denen der angegebene Ausdruck auftaucht. Bei Auslieferung eingetragen ist
"chat". Das bewirkt, dass Seiten wie www.bild.de/chat/ nicht mehr aufgerufen
werden können. Aber auch nicht www.chatanooga.com. Also etwas
Zurückhaltung hier.
Berechtigt: Admin
Es ist relativ schwierig (eigentlich unmöglich) alle unerwünschten Seiten zu sperren. Deshalb bietet diese Funktion die Möglichkeit die Zugriffslisten des Squid nach Stichworten zu durchsuchen. Gibt man als Stichwort z.B. "sex" ein, so erhält man als Anwort eine Liste mit allen Aufrufen von Adressen in denen dieses Wort irgendwie auftaucht. Klickt man dann bei einem Eintrag auf "info", so wird versucht den Aufrufer zu ermittlen.
Berechtigt: Admin
Hiermit kann festgestellt werden, welche Windows-Rechner momentan bei Samba angemeldet sind, also auf File- oder Druckdienste zugreifen.
Berechtigt: Admin, Lehrer
Ist am Server ein Drucker angeschlossen, so kann man dessen Warteschlange hier einsehen und auch löschen.
Berechtigt: Admin, Lehrer
In der Benutzerverwaltung werden Klassen eingetragen. Dies wird hier benutzt um alle Schüler einer derartigen Klasse einfach anschreiben zu können. Nachdem dieser Menüpunkt ausgeführt wurde (sollte man gelegentlich tun) erreicht eine Mail an die Klasse alle Teilnehmer.
Berechtigt: Admin