Linux 15.036 Themen, 107.107 Beiträge

Root-Programm beim booten starten

medizinmann / 3 Antworten / Baumansicht Nickles

Huhu zusammen!
Kann mir hier jemand erklären, wie ich beim booten automatisch ein Programm starten kann, welches NUR als root zu starten ist? Es soll während des gesamten Betriebs laufen und ich möchte mich NICHT vorher als root einloggen müssen.
Wo muss ich dieses Prog (evtl. mit passendem Start-Script) eintragen?
Ach ja, OS ist Suse 8.0.
Bin dankbar für jede schnelle Hilfe!

Gruss,

medizinmann

bei Antwort benachrichtigen
FrogPR medizinmann „Root-Programm beim booten starten“
Optionen

Hi!

Die Startskripte befinden sich im Verzeichnis /etc/init.d
Die Skripte in diesem Verzeichnis werden dann wiederum von Links in den Verzeichnissen /etc/rc0.d bis /etc/rc6.d und noch /etc/rcS.d gestartet. Interessant für dich sollte das Verzeichnis /etc/rc2.d sein. Alle Links die dort auf Skripte in /etc/init.d zeigen, werden im sogenannten Runlevel 2 gestartet (entspricht init 2, das ist auch der Runlevel der die grafische Oberfläche startet (also kdm, gdm, etc)). Ich will jetzt hier nicht weiter auf die Boot-Philosophie von Linux eingehen, aber wenn du ein Programm automatisch starten willst als root beim booten, mache folgendes:

0) Als root einloggen!
1) Lege in /etc/init.d ein Startskript des auszuführenden Programms an. (Das muss im einfachsten Fall nur das zu startende Programm inklusive Pfadangabe und evtl. Paramter enthalten).
2) Gib diesem Skript Ausführrechte (!)
3) Lege im Verzeichnis /etc/rc2.d einen Link an, der auf dein angelegtes Skript in /etc/init.d zeigt, an. Bei der Namensgebung deines Links musst du folgendes beachten:
Da es beim Starten ausgeführt werden soll, muss es mit einem großen "S" beginnen. Die Zahlen nach dem "S" bedeuten, an welcher Stelle es im runlevel ausgeführt wird, soll heissen, dass "S34" eher gestartet wird als "S90" usw.
Alles was nach diesem "Sxx" steht is vollkommen wurscht. Dein Link könnte also besipielsweise "S55meinSkript" heissten.

Ich bin mir nicht hundertprozentig sicher ob das bei Suse so funktioniert, da ich Debian benutze. aber ich denk mal schon ;-)

Gruß FrogPR

bei Antwort benachrichtigen
REPI medizinmann „Root-Programm beim booten starten“
Optionen

Unter Suse kann man auch einen Eintrag ind dte /etc/init.d/boot.local vornehmen !
Eintrag muss als root erfolgen.
Das Programm wird dann bei jedem Bootvorgang unabhängig vom login gestartet !!

Gruß



repi

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
REPI Nachtrag zu: „Unter Suse kann man auch einen Eintrag ind dte /etc/init.d/boot.local vornehmen...“
Optionen

ind dte = in der

Sorry

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen