Re: fwrules script im hintergrund ausführen, damit er mir nicht immer den ssh killt ...

From: Oliver Fromme <olli(at)secnetix.de>
Date: Thu, 5 Sep 2002 19:12:03 +0200 (CEST)

Stefan Mallepell <steve(at)syso.ch> wrote:
> Ich komme leider nochmals mit einer depperten "newbie" Frage ...

So deppert ist die gar nicht ...

> Ist es möglich das ipfw RegelnScript (fwrules) so zu starten, dass es mir
> nicht jedesmal die ssh session abklemmt .. ich habe im fwrules am Anfang
> einen flush Befehl, damit die alten regeln jeweils wieder weg sind. Hab mal
> gelesen, dass wenn ich das Script im Hintergrund ausführe das ganze richtig
> funzt. Nur wie führe ich ein solches ShellScript im Hintergrund aus? ...

Das entscheidende ist, daß keine Ausgabe passiert.

Wenn nämlich zwischen der Stelle, an der das »flush« ge-
macht wird, und der Stelle, an der die Regeln wieder einge-
setzt werden, die Deine ssh-Verbindung erlauben, eine Aus-
gabe passiert, dann wird die verbindung geresettet, weil
das Paket ja zu diesem Zeitpunkt nicht hindurchgehen darf.
Aber das ipfw-Kommando selbst generiert natürlich Ausgaben.

Ebenso kann es passieren, daß zu diesem Zeitpunkt noch ge-
pufferte Ausgaben gerade durchgehen wollen, z.B. der Druck
auf die Enter-Taste, mit dem Du das Aktualisieren der ipfw-
Regeln abgesetzt hast ...

Das beste ist also, das ganze in den Hintergrund zu setzen
und die Ausgabe nach /dev/null umzuleiten (wie das geht,
verrät Dir die manpage Deiner Shell [*]). Außerdem sollte
dem ganzen ein »sleep 3« oder so vorangehen. Und in diesen
drei Sekunden solltest Du es Dir verkneifen, irgendeine
Taste zu drücken. ;-) Das kann man natürlich auch in ei-
nen Shell-Alias verpacken, wenn man's öfters benötigt.

Das Ganze ist natürlich keine Garantie. Es kann trotzdem
passieren, daß es Dir durch einen dummen Zufall die Verbin-
dung zersemmelt.

Übrigens ist es eine gute Idee, einen kleinen cronjob (bzw.
atjob) zu schreiben, der nach fünf Minuten die alten Regeln
wiede raktiviert -- für den Fall, daß man in den Regeln ei-
nen ganz dummen kleinen Tipp- oder Denkfehler hat. Nicht
vergessen, im Erfolgsfalle den cron-/atjob wieder zu ent-
fernen. Wenn man Zugang zur Console hat, braucht man das
natürlich nicht.

Gruß
   Olli

[*] Bei Bourne-Shells (sh, ksh, zsh, bash):
(sleep 3; /dein/regelskript) >/dev/null 2>&1 &

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 05 Sep 2002 - 19:12:06 CEST

search this site