Re: SUSE-ISDN : Web-Interface-Problem
Hallo Harry,
das Script sollte eigentlich laengst auf der Liste erschienen sein.
hier folgt eine Kopie des Mails und das Script.
Gruss Frank
P.S.:
Ich habe das mir so zusammengewurschtelt, bin eben mehr Netzwerkadmin als
Perl-Programmierer.
Verbessrungsvorschlaege sind deswegen immer gerne genommen. :-))
*** snip ***
Hallo Timo,
nun, einen kleinen Handel: Ich sende Dir die die Anwahl, Du mir die
Passwort-Abfrage im Apache. :-))
Dann wollen wir mal:
Ich betreibe folgende Umgebung:
[x] Einen Linux-Server mit
* ISDN - Manuelle Einwahl zum Provider
* Apache-Server und Perl-Script in /cgi-bin
* Su-Umgebung, um System-Kommandos fuer Benutzer zugaenglich zu machen
Das ganze funktioniert folgendermassen:
Ueber einen Button im Script wird das Script
nochmal mit dem Anhaengsel 'ippp0on' aufgerufen, welches den Link
'/usr/local/bin/dial0' aufruft, dieser widerum ruft '/usr/bin/su1' auf.
'su1' wertet die Conf-File '/etc/su1.priv' aus, dort stehen die
Berechtigungen fuer die Benutzer, und dort wird auch der Befehl 'dial0'
umgesetzt.
Alles was jetzt folgt, ist nicht unbedingt professionell, aber funktioniert.
-> Zunaechst die (relevanten) Eintraege in '/etc/su1.priv' (bei Bedarf an
Deine Umgebung anpassen):
# Define some privileged users
define DIAL wwwrun
# Define some command aliases
alias dial0 /sbin/isdnctrl dial ippp0
alias hangup0 /sbin/isdnctrl hangup ippp0
alias dial1 /sbin/isdnctrl dial ippp1
alias hangup1 /sbin/isdnctrl hangup ippp1
-> Dann unter '/usr/local/bin' folgende Links erstellen:
ln -s /usr/bin/su1 /usr/local/bin/dial0
ln -s /usr/bin/su1 /usr/local/bin/dial1
ln -s /usr/bin/su1 /usr/local/bin/hangup0
ln -s /usr/bin/su1 /usr/local/bin/hangup1
-> Zur Pruefung, ob eine Verbindung besteht, verwende ich eine LCK-File, die
bei mir in dem Script '/etc/ppp/ip-up' erstellt (und auch wieder geloescht)
wird.
Die relevanten Eintraege sind hier:
case "$BASENAME" in
ip-up)
#
# ippp0 Lockfile
#
echo "ISDN Link Up" > /var/run/$INTERFACE.lck
#
.
.
.
ip-down)
#
# Lockfile entfernen
#
rm /var/run/$INTERFACE.lck
-> Auf diesen Voraussetzungen setzt das Perl-Script auf; bei mir heisst es
'net_conf.pl'
und steht unter '/usr/local/httpd/cgi-bin/'. Ich bin mit Sicherheit kein
Perl-Experte, von da her ist das Script (wahrscheinlich) auch nicht
besonders doll. Achte darauf, dass Du es ausfuehrbar machst, wenn Du es nach
'/cgi-bin/' stellst.
Ich habe fuer Dich unwichtige Teile im Script geloescht (Abfrage des
Mail-Status etc.).
Falls es Probleme gibt: -> Mail an mich.
Viel Glueck,
Gruss Frank
*** snip ***
-----Urspr|ngliche Nachricht-----
Von: Harry R|ter
Frank Kr|ger wrote:
Hallo Timo,
ich habe soetwas auf Perl-Basis realisiert, jedoch ohne Passwort-Abfrage. Jeder im Intranet kann die Anwahl ausloesen und dann ueber den Squid-Proxy surfen. Falls Interesse, Mail direkt an mich.
Gruss Frank frank_krueger@gmx.de
Hallo Frank,
ich habe deine Mail in der SUSE-ISDN-Liste gelesen. Ich wollte auch ein Perl-Script f|r diesen Zweck schreiben.
Kannst du mir deins (quasi als Template) zumailen ?
mfg :-) Harry
participants (1)
-
Frank Krüger