Startscript als User nicht als root ausführen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von mali, 11.04.2011.

  1. #1 mali, 11.04.2011
    Zuletzt bearbeitet: 11.04.2011
    mali

    mali noob @ linux

    Dabei seit:
    22.12.2006
    Beiträge:
    306
    Zustimmungen:
    0
    Ort:
    Leverkusen
    Hallo Zusammen,

    wie es der Titel bereits andeutet, möchte ich ein Script als User und nicht als root starten. Leider funktioniert es nur als root. Was muss ich noch ändern?

    Code:
    #! /bin/bash
    
    NAME=
    USER="XY"
    DESC=""
    PARAMS="befehl"
    DIR=/home/xy
    SCRIPT=xy
    DAEMON=$DIR/$SCRIPT
    
    case "$1" in
    start)
    echo "Starte $NAME"
    su xy - -c "cd $DIR; screen -dmS $NAME $DAEMON $PARAMS"
    ;;
    
    sobald ich die Zeile umändere in:
    Code:
    cd $DIR; screen -dmS $NAME $DAEMON $PARAMS
    klappt alles. Warum?
     
  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 saeckereier, 11.04.2011
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    -c bedeutet: Führe folgendes Kommando aus. "cd $DIR; screen -dmS $NAME $DAEMON $PARAMS" ist aber kein Befehl, das ist etwas, was erst von der Bash interpretiert werden muss.
     
  4. mali

    mali noob @ linux

    Dabei seit:
    22.12.2006
    Beiträge:
    306
    Zustimmungen:
    0
    Ort:
    Leverkusen
    Seltsamerweise klappt es nun. Habe nichts verändert, lediglich den Server neu gebootet.

    EDIT: Erneuter reboot und wieder gehts nicht!
     
  5. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Dann fuer das Skript doch mal aus der Konsole aus und ueberliefere uns die Fehlermeldung(en). Das hilft wohl eher weiter.
     
  6. #5 tuxlover, 12.04.2011
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    su xy - -c "cd $DIR; screen -dmS $NAME $DAEMON $PARAMS"

    hier startest du das Script als user xy, du hast aber XY definiert. was wohl nicht dasselbe ist. könnte es daran liegen? oder ist es nur ein schreibfehler? das sollte doch auch mit $USER funktionieren? Oder warum legst du dafür eine Variable an? Ausserdem haut da was mit -c nicht hin wie saeckereier schon betont hat.

    ein errorlog gibt mehr aufschluss.
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. mali

    mali noob @ linux

    Dabei seit:
    22.12.2006
    Beiträge:
    306
    Zustimmungen:
    0
    Ort:
    Leverkusen
    war schon alles mit user "xy" und wollte eigentlich auch die Variable benutzen, aber zum Testen vorerst mit dem user selbst.

    Komischerweise klappt mein Script mal und mal nicht, d.h. bei jedem 2. Reboot des vservers kann ich es ohne Probleme ausführen.
    Auf meinem 2. vserver klappt es nun bei jedem reboot.

    Werde mal den Server neu aufsetzen und berichten.

    Besten Dank schon mal.
     
  9. foexle

    foexle Kaiser

    Dabei seit:
    02.05.2007
    Beiträge:
    1.104
    Zustimmungen:
    0
    Ort:
    Saarbrücken
    es könnte an den Konstanten liegen, die wohl in der Subshell nicht verfügbar sind ...
    mach mal ein
    Code:
    export
    vor die Konstanten also Systemvariablen
     
Thema:

Startscript als User nicht als root ausführen

Die Seite wird geladen...

Startscript als User nicht als root ausführen - Ähnliche Themen

  1. Startscript in init.d scheitert an - " -

    Startscript in init.d scheitert an - " -: Hallo ich schon wieder ;) Ich starte in Debian lenny auf der Console den mjpg_streamer problemlos: /usr/bin/mjpg_streamer -b -i "input_uvc.so -d...
  2. Minecraft Startscript

    Minecraft Startscript: Ich finde den Fehler nicht. Als Fehler kommt: ./startserver: 73: [[: not foundUnd hier der Quellcode: #!/bin/sh DIR="/home/marok" DAEMON="java"...
  3. Runlevel+Startscript unter Ubuntu 10.04 Server x64

    Runlevel+Startscript unter Ubuntu 10.04 Server x64: Hallo Community, wie sich schon aus dem Titel unschwer erkennen lässt, habe ich ein Problem / eine Verständnisfrage bezüglich der Runlevel in...
  4. respawn aus Startscript in /etc/init.d/

    respawn aus Startscript in /etc/init.d/: Hallo zusammen Habe soeben ein init Script in /etc/init.d geschrieben damit mein Programm als Daemon startet. Nun sollte sich dieses...
  5. Syslogd: Startscript anpassen

    Syslogd: Startscript anpassen: Hallo, ich möchte, dass der Syslog auf meinem Server auch Meldungen aus dem Netzwerk abgereift .... ich habe dafür die Optionsliste in der...