Script beim Booten starten, but how?

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von shortybmc, 27.01.2008.

  1. #1 shortybmc, 27.01.2008
    Zuletzt bearbeitet: 27.01.2008
    shortybmc

    shortybmc Mitglied

    Dabei seit:
    13.01.2008
    Beiträge:
    31
    Zustimmungen:
    0
    Ich versuche seit stunden ein simples script beim Boot-Vorgang zu starten, bekomme es aber partout nicht hin, eventuell könnt ihr mir sagen wo der fehler liegt. Folgendes script soll einfach zu testzwecken eine Datei erstellen.

    Code:
    
    #!/bin/sh
    
    
    case $1 in
    	start)
    		touch /home/shorty/start
    		touch /root/start
    		;;
    	stop)
    		touch /home/shorty/stop
    		touch /root/stop
    		;;	
    	reload | restart)
    		touch /home/shorty/restart
    		touch /root/restart
    		;;
    	*)
    		touch /home/shorty/err
    		touch /root/err
    		exit 1
    		;;
    esac
    
    exit 0
    
    
    Das Script liegt in /etc/init.d/, unter dem Namen foo. Ich habe mich strikt an die im Handbuch hinterlegten Anweisungen gehalten, was soviel bedeutet, wie das ich folgendes getan habe (mit root rechten):
    Code:
    update-rc.d foo defaults 19
    Ausgabe:
    Danach habe ich das System neu gestartet, und erwartet, dass jeweils im Ordner /home/shorty/ & /root/ zumindest eine Datei liegt, aber leider Fehlanzeige.

    Kann mir einer von euch sagen woran es liegt, das das Script foo nicht beim Booten ausgeführt wird?


    lg,
    Marco
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Ich komm mir langsam total bescheuert vor! Immer wenn ich einen Post absetze, dauert es nicht lange, und ich komme von selbst drauf. Man man, es lag an den rechten der Datei foo, niemand, auch nicht root durfte sie ausführen - da kann es ja nix werden :D

    ich habe mir die rechte für das script nun bei einer anderen datei im Ordner init.d abgeguckt, und sie wie folgt gesetzt:

    Code:
    chmord -rwxr-xr-x foo
    trotzdem danke fürs lesen - sorry :brav:
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 supersucker, 27.01.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Macht nix, geht mir auch oft so.......:)
     
  4. Gast1

    Gast1 Guest

    Kleine Anregung, sofern Du das Handbuch wirklich wörtlich genommen hast.

    Code:
    update-rc.d [b]foo[/b] defaults 19
    
    
     Adding system startup for /etc/init.d/[b]foo[/b] ...
     /etc/rc0.d/K19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc1.d/K19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc6.d/K19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc2.d/S19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc3.d/S19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc4.d/S19[b]foo[/b] -> ../init.d/[b]foo[/b]
     /etc/rc5.d/S19[b]foo[/b] -> ../init.d/[b]foo[/b]
    Gib dem Ding besser einen Namen, der Dir auch noch in ein paar Monaten sagt, was es macht.

    Beim nächsten Script hättest Du dann auch nur noch "bar" zur Auswahl *g*

    Greetz,

    RM
     
  5. #4 shortybmc, 27.01.2008
    Zuletzt bearbeitet: 27.01.2008
    shortybmc

    shortybmc Mitglied

    Dabei seit:
    13.01.2008
    Beiträge:
    31
    Zustimmungen:
    0
    Hey rain, danke für den Hinweis

    foo ist nach 5 jahren programming einfach das beste was geht. Läuft einem solch ein schlingel im quelltext, oder als datei über den weg heißt es sofort: delete! Hello_world gehört aber def. mit in die nähere auswahl :D

    Aber nichts für ungut, ich danke dir trotzdem! Gerade weil Du dir so viel mühe beim bolden von foo gegeben hast °lach

    @super sehr schön, dann bin ich ja nicht der einzige :)
     
  6. #5 Tomekk228, 30.01.2008
    Zuletzt bearbeitet: 30.01.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Hey, ich hab ein "ähnliches problem".

    Und zwar wie kann ich programme wie mpd oder icecast als user starten? Beim boot?

    Situation: Ein server, wo sich keiner vor ort einloggt oder so. Also kann auch keine xinitrc oder ähnliches verarbeitet werden (auf dem server läuft eh kein X). Aber ich muss "mpd" und "icecast -b -c /etc/icecast.xml" per normalen user starten. Den als Root programme bzw prozesse, nützen sie mir wenig, sehr wenig. Das ist der grund >
    Code:
    [root@server tomekk]# ERROR: You should not run icecast2 as root
    Use the changeowner directive in the config file
    
     
  7. Gast1

    Gast1 Guest

    Code:
    man su
    
    man sudo
    Greetz,

    RM
     
  8. #7 Tomekk228, 30.01.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    ich weiß zwar nicht was mir "man su" und "man sudo" sagen soll, aber ich hab es jetzt anders hingekriegt. Und zwar per config file selber :)
     
  9. Gast1

    Gast1 Guest

    Das sollte andeuten, daß man mit su/sudo jeden Befehl als User XYZ ausführen kann, su steht mehr für Substitute User als für Superuser.

    Ein ordentliches Initscript sollte allerdings AFAIK diese Möglichkeit über die Konfiguration des Scriptes selbst ermöglichen.

    (z.B. eine Zeile à la "$SCRIPTUSER=$USERNAME/USERID")

    Dazu wirst Du die Dokumentation Deiner Distribution bemühen müssen.

    So lange dieser Satz hier:

    nicht bedeutet, daß nun durch eine Änderung an der Konfiguration des Dienstes als root läuft, ist alles in Butter.

    (Ansonsten => siehe oben)

    Greetz,

    RM
     
  10. #9 Tomekk228, 30.01.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    mpd steht unter deamons in rc.conf (ganzer server läuft auf arch)

    und in der config file von icecast, gibst ne funktion der das programm als root ausführt und dann die root rechte dropt und als tomekk weiterläuft :)

    Naja, soweit ich es durch das englisch sprachige wiki von icecast verstanden habe.

    Z.b so? >
    Code:
    #!/bin/sh
    mustermann=mustermann/1000
    mpd
    
    und dann läuft also nach meinem verständnis mpd als user z.b?
     
  11. #10 Gast1, 30.01.2008
    Zuletzt von einem Moderator bearbeitet: 30.01.2008
    Gast1

    Gast1 Guest

    Das kann ich Dir für Arch nicht beantworten, aber hier ein Beispiel für das Initscript von tor unter openSUSE 10.2 (Auszug).

    Code:
    # torctl will use these environment variables
    TORUSER=tor
    export TORUSER
    TORGROUP=tor
    export TORGROUP
    Aber auch da liegt wohl der entscheidende Punkt darin, daß die Anwendung "torctl" diese Ausführung als anderer User erlaubt, also ist Dein Ansatz prinzipiell richtig.

    Eine Anwendung, die keine Möglichkeit bietet als non-root gestartet zu werden (oder eben über Privilege Dropping als non-root weiter zu laufen), wird man damit sehr wahrscheinlich auch nicht dazu zwingen können.

    Greetz,

    RM
     
  12. #11 Tomekk228, 30.01.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Danke für die Informationen und "verfestigung" - wieder was gelernt :)
     
  13. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  14. #12 supersucker, 30.01.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Tja, was hätte dir das wohl sagen können?

    Vielleicht das man mittels

    Code:
    su dein_user -c "dein_icecast_startbefehl"
    icecast unter diesem user laufen lässt?

    Ist natürlich nur so ein Gedanke von mir.
     
  15. #13 Tomekk228, 30.01.2008
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    ja, jetzt weiß ichs auch :) Danke auch noch für den hinweis :)
     
Thema:

Script beim Booten starten, but how?

Die Seite wird geladen...

Script beim Booten starten, but how? - Ähnliche Themen

  1. Bitte um Hilfe beim schreiben eines GREP-Scripts

    Bitte um Hilfe beim schreiben eines GREP-Scripts: Hallo, Ich habe als Hausaufgabe ein Script entwickelt, dies funkitoniert auch, nun soll ich als Zusatzaufgabe das machen: Idealerweise...
  2. Eigenes Script beim Systemsart ausführen und Programm als User starten

    Eigenes Script beim Systemsart ausführen und Programm als User starten: Hallo. Ich möchte, das beim Systemsart als letztes ein Script gestartet wird, welches verschiedene selbst installierte Programme startet. Ich...
  3. Script beim Systemstart ausführen...

    Script beim Systemstart ausführen...: Hallo, wo muss ich ein Bash-Script hinkopieren/eintragen damit es beim Systemstart (am besten als letztes) ausgeführt wird? System: Debian...
  4. Verschiedene Shells beim Script im Script aufrufen?

    Verschiedene Shells beim Script im Script aufrufen?: s30a #!/bin/sh X1=x1 X2=x2 X3=x3s30 #!/bin/sh ./s30a echo '$X1: ' $X1 echo '$X2: ' $X2 echo '$X3: ' $X3 echo '( ./s30a ; )' ( ./s30a...
  5. Script beim Booten oder Herunterfahren ausführen

    Script beim Booten oder Herunterfahren ausführen: Ich möchte ein Script beim Booten oder Herunterfahren ausführen. Allerdings ist Vorraussetzung, daß die Partition nicht eingehängt ist. Script:...