Startscript als User nicht als root ausführen

mali

mali

noob @ linux
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?
 
Zuletzt bearbeitet:
-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.
 
Seltsamerweise klappt es nun. Habe nichts verändert, lediglich den Server neu gebootet.

EDIT: Erneuter reboot und wieder gehts nicht!
 
Seltsamerweise klappt es nun. Habe nichts verändert, lediglich den Server neu gebootet.

EDIT: Erneuter reboot und wieder gehts nicht!

Dann fuer das Skript doch mal aus der Konsole aus und ueberliefere uns die Fehlermeldung(en). Das hilft wohl eher weiter.
 
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.
 
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.
 
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
 

Ähnliche Themen

Queue für copy Script

Minecraft Startscript

Windows clients können nicht mehr auf lange laufendes System zugreifen

dovecot und postfix Konfiguration Problem

Nagios kann einige Programme nicht ausführen

Zurück
Oben