HI,
ich hab da ein kleines Verständnisproblem. Ich hab mir ein kleines Script
geschrieben, welches mir ein paar Dinge beim Hochfahren des Rechners - z.B.
nach einem Stromausfall - erledigen soll:
° firewall Regeln setzen
° Uhrzeit stellen
° fetchmail für den Mailserver starten
Starte ich das Script händisch als root klappt alles wunderbar:
server:/home/bigchief # /etc/init.d/zz-mna start
Starting firewall-rules 4 my server
done
setting firewall rules for device lo
done
setting firewall rules for internal network on eth1
done
setting firewall rules for external network on eth0
done
Setting up the right time from fu-berlin.de
Trying 130.133.1.10...
time.fu-berlin.de +0.780 Tue Aug 6 21:06:40.000
Setting up incomming mailserver
finished, ready!
Für den runlevel 3 und 5 habe ich entsprechende Verweise eingetragen, so z.B.
S13zz-mna -> ../zz-mna
Die firewall-regeln und die Uhrzeit wird schön brav gesetzt, nur fetchmail
meint, es wären keine Server festgelegt:
<notice>/etc/init.d/rc5.d/S13zz-mna start
Starting firewall-rules 4 my server
done
setting firewall rules for device lo
done
setting firewall rules for internal network on eth1
done
setting firewall rules for external network on eth0
done
Setting up the right time from fu-berlin.de
Trying 130.133.1.10...
time.fu-berlin.de -3459.914 Tue Aug 6 21:15:45.000
Setting up incomming mailserver
fetchmail: no mailservers have been specified.
finished, ready!
Starting inetd<notice>'/etc/init.d/rc5.d/S13zz-mna start' exits with status 0
Der zugehörige script sieht wie folgt aus:
#! /bin/sh
# Author: Michael Nausch
Hmm. Ich denke, das Problem dabei ist, dass Du es nicht in das dazugehörige
RunLevel gepackt hast. schmeiß einen link in /etc/init.d/rc3.d rein . (mit
dem S01name.lnk = start und einen link K99name beim beenden des Runlevels
Kill)
-----Ursprüngliche Nachricht-----
Von: Michael Nausch [mailto:michael@nausch.org]
Gesendet: Dienstag, 6. August 2002 21:35
An: suse-linux@suse.com
Betreff: script in /etc/init.d/
HI,
ich hab da ein kleines Verständnisproblem. Ich hab mir ein kleines Script
geschrieben, welches mir ein paar Dinge beim Hochfahren des Rechners - z.B.
nach einem Stromausfall - erledigen soll:
° firewall Regeln setzen
° Uhrzeit stellen
° fetchmail für den Mailserver starten
Starte ich das Script händisch als root klappt alles wunderbar:
server:/home/bigchief # /etc/init.d/zz-mna start
Starting firewall-rules 4 my server
done
setting firewall rules for device lo
done
setting firewall rules for internal network on eth1
done
setting firewall rules for external network on eth0
done
Setting up the right time from fu-berlin.de
Trying 130.133.1.10...
time.fu-berlin.de +0.780 Tue Aug 6 21:06:40.000
Setting up incomming mailserver
finished, ready!
Für den runlevel 3 und 5 habe ich entsprechende Verweise eingetragen, so
z.B.
S13zz-mna -> ../zz-mna
Die firewall-regeln und die Uhrzeit wird schön brav gesetzt, nur fetchmail
meint, es wären keine Server festgelegt:
<notice>/etc/init.d/rc5.d/S13zz-mna start
Starting firewall-rules 4 my server
done
setting firewall rules for device lo
done
setting firewall rules for internal network on eth1
done
setting firewall rules for external network on eth0
done
Setting up the right time from fu-berlin.de
Trying 130.133.1.10...
time.fu-berlin.de -3459.914 Tue Aug 6 21:15:45.000
Setting up incomming mailserver
fetchmail: no mailservers have been specified.
finished, ready!
Starting inetd<notice>'/etc/init.d/rc5.d/S13zz-mna start' exits with status
0
Der zugehörige script sieht wie folgt aus:
#! /bin/sh
# Author: Michael Nausch
Griasde! Am Donnerstag, 25. Juli 2002 17:35 schrieb janbre@gmx.de:
Hmm. Ich denke, das Problem dabei ist, dass Du es nicht in das dazugehörige RunLevel gepackt hast.
Ist dort schon richtig eingetragen, denke ich zumindestens: lrwxrwxrwx 1 root root 9 Aug 6 21:13 S13zz-mna -> ../zz-mna* Wundert mich zwar immer noch, aber egal, mit der option -f von fetchmail hab' ich das Problem ja umschifft. Pfiade, BC -- Michael Nausch Anzinger Str. 20 85586 Poing +49-8121-989810 (Telefon) +49-8121-971941 (Faksimile) http://nausch.org michael@nausch.org
On Tue, 6 Aug 2002, Michael Nausch wrote:
HI,
ich hab da ein kleines Verst�ndnisproblem. Ich hab mir ein kleines Script geschrieben, welches mir ein paar Dinge beim Hochfahren des Rechners - z.B. nach einem Stromausfall - erledigen soll:
� firewall Regeln setzen � Uhrzeit stellen � fetchmail f�r den Mailserver starten
Starte ich das Script h�ndisch als root klappt alles wunderbar:
server:/home/bigchief # /etc/init.d/zz-mna start Starting firewall-rules 4 my server done setting firewall rules for device lo done setting firewall rules for internal network on eth1 done setting firewall rules for external network on eth0 done Setting up the right time from fu-berlin.de Trying 130.133.1.10... time.fu-berlin.de +0.780 Tue Aug 6 21:06:40.000 Setting up incomming mailserver finished, ready!
F�r den runlevel 3 und 5 habe ich entsprechende Verweise eingetragen, so z.B. S13zz-mna -> ../zz-mna
Die firewall-regeln und die Uhrzeit wird sch�n brav gesetzt, nur fetchmail meint, es w�ren keine Server festgelegt:
<notice>/etc/init.d/rc5.d/S13zz-mna start Starting firewall-rules 4 my server done setting firewall rules for device lo done setting firewall rules for internal network on eth1 done setting firewall rules for external network on eth0 done Setting up the right time from fu-berlin.de Trying 130.133.1.10... time.fu-berlin.de -3459.914 Tue Aug 6 21:15:45.000 Setting up incomming mailserver fetchmail: no mailservers have been specified. finished, ready! Starting inetd<notice>'/etc/init.d/rc5.d/S13zz-mna start' exits with status 0
Der zugeh�rige script sieht wie folgt aus:
#! /bin/sh # Author: Michael Nausch
# # # # /etc/init.d/zz-mna # ### BEGIN INIT INFO # Provides: firewall # Required-Start: # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Starts firewall4server.local and time ### END INIT INFO . /etc/rc.status . /etc/rc.config
TDSL_BIN=/root/fw/dsl-mna test -x $TDSL_BIN || exit 5
case "$1" in start) echo "Starting firewall-rules 4 my server" /root/fw/fw-mna echo "Setting up the right time from fu-berlin.de" /usr/sbin/netdate time.fu-berlin.de echo "Setting up incomming mailserver" /usr/bin/fetchmail -d 215 echo "finished, ready!" ;; stop) echo "Stopping firewall-rules @ my server" /root/fw/clear_all_rules /usr/sbin/iptables --list /usr/bin/fetchmail -q echo "finished, ready!" ;; restart) $0 stop $0 start ;; status) echo -n "Checking for wether or not the DSL-connection is running: " /usr/sbin/adsl-status /usr/sbin/iptables --list ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac
Wie mache ich denn dem Script klar, da� beim Hochfahren des Rechners die .fetchmailrc unter /root benutzt werden soll? wie gesagt starte ich den script per Hand als root geht's ja auch. Was mache ich denn falsch?
Pfiadseich, BC
Was immer auch "Pfiadseich" heissen soll... Hallo Michael, beim Aufruf von fetchmail mit der Option -f liest fetchmail die Angaben aus der darauffolgenden Datei ein. In Deinem Fall also: /usr/bin/fetchmail -f /root/.fetchmailrc Gruss, Guido
Griasdebua! Am Dienstag, 6. August 2002 21:50 schrieb Guido Laubender: Nun ein fulquote wäre eigentlich nicht nötig gewesen ... :-)
Was immer auch "Pfiadseich" heissen soll...
Pfiade = Behüt Dich Gott Pfiadseich = Behüt Euch Gott Boarisch für runawais - ähh Fortgeschrittene
beim Aufruf von fetchmail mit der Option -f liest fetchmail die Angaben aus der darauffolgenden Datei ein.
Richtig, bin auch d'rauf gekommen, als ich die Nachricht schon abgesetzt habe und mir dann nochmals die manual-Seiten von fetchmail durchgelesen hatte. Pfiade, BC -- Michael Nausch Anzinger Str. 20 85586 Poing +49-8121-989810 (Telefon) +49-8121-971941 (Faksimile) http://nausch.org michael@nausch.org
Dobininomoi! Am Dienstag, 6. August 2002 21:34 schrieb Michael Nausch:
Wie mache ich denn dem Script klar, daß beim Hochfahren des Rechners die .fetchmailrc unter /root benutzt werden soll?
echo "Setting up incomming mailserver" /usr/bin/fetchmail -f /root/.fetchmailrc -d 215 und schon klappts auch nun mit meinem Mailserver im SOHO. ttyl, BC -- Michael Nausch Anzinger Str. 20 85586 Poing +49-8121-989810 (Telefon) +49-8121-971941 (Faksimile) http://nausch.org michael@nausch.org
Hi, bin mir nicht sicher: aber könnte an der Reihenfolge der Scripte beim hochfarhen liegen. Versuch doch mal ein größere Nummer: Nicht S13 sonder z.B. S22 oder so Schau mal nach, was da sonst noch in welcher Reihenfolge gestartet wird. cu Martin On Tuesday 06 August 2002 21:34, Michael Nausch wrote:
HI,
ich hab da ein kleines Verständnisproblem. Ich hab mir ein kleines Script geschrieben, welches mir ein paar Dinge beim Hochfahren des Rechners - z.B. nach einem Stromausfall - erledigen soll:
° firewall Regeln setzen ° Uhrzeit stellen ° fetchmail für den Mailserver starten
Starte ich das Script händisch als root klappt alles wunderbar: [...] Die firewall-regeln und die Uhrzeit wird schön brav gesetzt, nur fetchmail meint, es wären keine Server festgelegt:
<notice>/etc/init.d/rc5.d/S13zz-mna start Starting firewall-rules 4 my server done setting firewall rules for device lo done setting firewall rules for internal network on eth1 done setting firewall rules for external network on eth0 done Setting up the right time from fu-berlin.de Trying 130.133.1.10... time.fu-berlin.de -3459.914 Tue Aug 6 21:15:45.000 Setting up incomming mailserver fetchmail: no mailservers have been specified. finished, ready! Starting inetd<notice>'/etc/init.d/rc5.d/S13zz-mna start' exits with status 0
-- Martin Scharrer student of electronic engineering mail@madmarty.de
Hallo Michael, * Michael Nausch schrieb am 06.Aug.2002:
Für den runlevel 3 und 5 habe ich entsprechende Verweise eingetragen, so z.B. S13zz-mna -> ../zz-mna ^^^
Das sollte man nicht mehr selber festlegen, sondern insserv überlassen. insserv wird unter anderem von yast aufgerufen und wird dies so wie so verändern.
#! /bin/sh # Author: Michael Nausch
# # # # /etc/init.d/zz-mna # ### BEGIN INIT INFO # Provides: firewall
Hä?
# Required-Start: # Required-Stop:
Da fehlt was. In den obigen Zeilen muß stehen, wovon das Skript abhängig ist. Es kann erst gestartet werden, wenn das System Internetfähig ist, und wenn bestimmte firewallregeln erfüllt sind. Es ist von anderen Startskripts abhängig, die müssen da oben stehen, sonst wird insserv bei nächster Gelegenheit Dein Skript am Anfang setzen, da es ja angeblich von nichts abhängig ist, und das geht nicht. Diese Zeilen sind zwar als Kommentar gekennzeichnet und die bash bewertet sie daher auch nicht, aber insserv greift auf genau diese Zeilen, zwichen ### BEGIN INIT INFO und ### END INIT INFO zu, und wertet diese Zeilen aus. Solange insserv nicht aufgerufen wird ist es egal, aber wenn Du neue Software über yast einspielst, wird insserv aufgerufen, und bringt Dein System durcheinander.
# Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Starts firewall4server.local and time ### END INIT INFO
[...]
Wie mache ich denn dem Script klar, daß beim Hochfahren des Rechners die .fetchmailrc unter /root benutzt werden soll? wie gesagt starte ich den script per Hand als root geht's ja auch. Was mache ich denn falsch?
Wenn Du per Hand startest, so hast Du Dich vorher als root eingeloggt. Wenn Du Dich aber einloggst, so schaut das Programm login in der /etc/passwd nach, was Deine Homedirektory ist, in diesem Fall /root. Beim initskript loggt sich aber keiner ein, und es wird keine Homedirektory gesetzt. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
Griasde Bernd! Am Mittwoch, 7. August 2002 03:35 schrieb Bernd Brodesser:
Das sollte man nicht mehr selber festlegen, sondern insserv überlassen. insserv wird unter anderem von yast aufgerufen und wird dies so wie so verändern.
Und ich dachte schon an einen Trojaner oder so was ähnliches! Danke für den Tip, nun klappt auch das 100%ig.
### BEGIN INIT INFO # Provides: firewall
Hä?
Wie Hä? Probleme? :-) Was sollte denn hierbei stehen?
Da fehlt was. In den obigen Zeilen muß stehen, wovon das Skript abhängig ist.
O.K. Hab' nun folgendes eingetragen: ### BEGIN INIT INFO # Provides: firewall # Required-Start: $network adsl # Required-Stop: $network # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Starts firewall4server.local and time ### END INIT INFO
Es kann erst gestartet werden, wenn das System Internetfähig ist,
Genau, erst wenn adsl steht wird meine Maschinerie in Gang gesetzt.
und wenn bestimmte firewallregeln erfüllt sind.
Das wiederum glaube ich nicht, denn auf meinem Server/Router gibt es nur einen Satz von firewall-Regeln, nämlich MEINE.
sonst wird insserv bei nächster Gelegenheit Dein Skript am Anfang setzen, da es ja angeblich von nichts abhängig ist, und das geht nicht.
Wie gesagt, mich wunderte es schon immer, warum plötzlich die Dateinamen umgeschrieben wurden.
Wenn Du Dich aber einloggst, so schaut das Programm login in der /etc/passwd nach, was Deine Homedirektory ist, in diesem Fall /root. Beim initskript loggt sich aber keiner ein, und es wird keine Homedirektory gesetzt.
O.K. nun hab' ich auch das verstanden. Danke nochmals für Deine guten Erklärungen und Deine Hilfe! muchos gracias oder besser g'sagt: Vergelt's Gott! :-) Pfiade, BC -- Michael Nausch Anzinger Str. 20 85586 Poing +49-8121-989810 (Telefon) +49-8121-971941 (Faksimile) http://nausch.org michael@nausch.org
participants (5)
-
B.Brodesser@t-online.de
-
Guido Laubender
-
janbre@gmx.de
-
Martin Scharrer
-
Michael Nausch