Sie verwenden ziemlich alte JBoss-Version und ich persönlich sehe es nie. Aber ich denke, es sollte den neueren sehr ähnlich sein.
Bitte versuchen Sie Ihre Benutzer nach zu setzen, wenn der Definition dieser Variable:
JBOSSUS=jbs
Die andere Lösung ist diese Variable Einstellung vor dem Ausführen von Skript ausführen:
export JBOSSUS=jbs; /etc/init.d/jboss start
aktualisieren
Ich habe gerade JBoss 3.2.7 heruntergeladen und das Skript jboss_init_redhat.sh
überprüft (ich hoffe, Sie verwenden dieses als template für dein Startskript).
In der Datei jboss_init_redhat.sh
Sie solche Zeilen finden:
#define the user under which jboss will run, or use RUNASIS
#to run as the current user
JBOSSUS=${JBOSSUS:-"jboss"}
Diese Zeile definiert den neuen Benutzernamen. Es prüft, ob die Variable JBOSSUS
eingerichtet ist, und wenn nicht, wird jboss
Benutzer als Standardname verwendet.
Der zweite interessante Teil dieser Skript:
if [ "$JBOSSUS" = "RUNASIS" ]; then
SUBIT=""
else
SUBIT="su - $JBOSSUS -c "
fi
Sie sollten eines wissen: Wenn Sie automatisch jedes Skript von Init-Skripte ausgeführt wird es immer als root
Benutzer ausgeführt. Deshalb sollte im Skript ein Befehl stehen, der den effektiven Benutzer zu jemand anderem macht. Und hier hast du diesen Teil des Skripts.
Zuerst überprüft, ob Ihr Benutzername RUNASIS
ist und ob es ja ist - nichts tun. In einem anderen Fall wird JBoss als anderer Benutzer mit dem Befehl su
ausgeführt.
In Ihrem Fall sollte es ausreichen, JBOSSUS
Variablendefinition zu, so etwas zu ändern:
JBOSSUS = jbs
Danach können Sie diese Skript als root
Benutzer starten können und es sollte JVM mit JBoss laufen mit jbs
Benutzer.
Geben Sie das Script /etc/init.d ein. – trojanfoe