2010-11-27 4 views
0

Ich beginne die jboss_3.2.7 mit dem Linux-Benutzer jbs mit jboss mit RUNASIS Option, aber es funktioniert nicht, während das gesamte System [Linux] neu starten. Was den jboss als root-Benutzer startet.jbooss mit RUNASIS Option

Ich habe den jboss-Dienst in der chkconfig-Option von Linux hinzugefügt, um den jboss unter Linux-Neustart zu starten.

+0

Geben Sie das Script /etc/init.d ein. – trojanfoe

Antwort

0

Im jboss Servicedatei (/etc/init.d) modifiziert, um den Benutzer zu RUNASIS
definieren den Benutzer, unter dem jboss läuft oder RUNASIS verwenden als den aktuellen Benutzer

JBOSSUS = $ ausführen { JBOSSUS: - "RUNASIS"}

+0

Das funktioniert gut, wenn der jboss gestartet wird, da der Benutzer der Linux-Protokollierung jbs ist. Aber beim Neustart von Linux (OS) beginnt es als root. – Arunjith

+0

Ich möchte es als jbs machen – Arunjith

0

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.

+0

Wenn ich dies verwenden, die zur Eingabe von JBS (Benutzer) Passwort, Um dies zu vermeiden, bin ich für RUNASIS Option gegangen und es funktioniert gut. Die RUNASIS wird den angemeldeten Benutzer übernehmen. – Arunjith

+0

Aber beim Neustart startet jboss mit dem Benutzer root. – Arunjith

+0

Ich habe diese JBoss-Installationsdatei nicht. Können Sie alle Init-Skripte bereitstellen? Es wird viel einfacher sein, zu überprüfen, ob das Skript läuft. –