• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Rechte Problem beim starten eines Startscripts

cow

Newbie
Hallo an alle,

Ich habe ein Problem mit einem Startscript. Dies wird beim starten des Servers mitgestartet. Ich denke wenn beim booten ein Startscript ausgeführt wird, wird es mit root rechten gestartet. Doch genau das will ich nicht ! Ich will das einige Anwendungen mit den Rechten eines Useres gesatartet werden, da dies aus Sicherheitsgründen so sinnvoller ist.

Ich möchte das Programm CS 1.6 als root oder mit rootrechten starten, Ventrilo und TS2 jedoch mit rechten eines Useres.

Hier der erste Versuch mittels su - user :

Code:
case $1 in
   start)
   cd /home/cs/
   screen -A -m -d -S cs ./'hlds_run' -game cstrike +maxplayers 12 +map   
   de_dust
   su - user
   cd /home/ventrilo/
   screen -A -m -d -S ventrilo ./ventrilo_srv
   cd /home/ts/tss2_rc2/
   screen -A -m -d -S ts ./'teamspeak2-server_startscript' start
   ;;
   stop)
   ;;
 esac;

Und hier mittels exit :

Code:
case $1 in
   start)
   cd /home/cs/
   screen -A -m -d -S cs ./'hlds_run' -game cstrike +maxplayers 12 +map   
   de_dust
   exit
   cd /home/ventrilo/
   screen -A -m -d -S ventrilo ./ventrilo_srv
   cd /home/ts/tss2_rc2/
   screen -A -m -d -S ts ./'teamspeak2-server_startscript' start
   ;;
   stop)
   ;;
 esac;

Beides führte dazu das die Programme Ventrilo und TS2 nicht mehr gestartet wurden !

Nun meine Frage: Wie kann ich es schaffen das Ventrilo und TS2 als User gestartet werden beim starten des Rechners ?

Gruß Kuh
 

Martin Breidenbach

Ultimate Guru
So zum Beispiel (hier läuft TeamSpeak als user teamspeak):

Code:
#!/bin/sh
### BEGIN INIT INFO
# Provides: teamspeak
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 5
# Description: Teamspeak
### END INIT INFO

case "$1" in
'start')
	cd /home/teamspeak/tss2_rc2
	su teamspeak -c "./teamspeak2-server_startscript start"
	;;
'stop')
	cd /home/teamspeak/tss2_rc2
	su teamspeak -c "./teamspeak2-server_startscript stop"
	;;
*)
	echo "Usage: $0 { start | stop }"
	;;
esac
exit 0
 
OP
C

cow

Newbie
Vielen Dank :D Ich vermute mal es funktiniert habe erst später Zeit es zu testen !

Danke und Gruß kuh falls es nicht funktioniert melde ich mich nochmal !
 
Oben