2010-11-27 32 views
0

我開始使用帶有RUNASIS選項的jboss的linux用戶jbs的jboss_3.2.7,但是在整個系統[linux]重新啓動時它不工作。以root用戶身份啓動jboss。帶有RUNASIS選項的jbooss

我在linux的chkconfig選項中添加了jboss服務,用於在linux重新啓動時啓動jboss。

+0

發佈/etc/init.d腳本。 – trojanfoe 2010-11-27 08:51:38

回答

0

在JBoss服務文件(/etc/init.d中)改性用戶RUNASIS
限定在其下JBoss會運行的用戶,或使用RUNASIS爲當前用戶

JBOSSUS = $ {運行JBOSSUS: - 「RUNASIS」}

+0

由於linux日誌記錄用戶是jbs,因此啓動jboss時工作正常。但在Linux(OS)重啓時,它以root身份啓動。 – Arunjith 2010-11-27 09:06:04

+0

我希望把它作爲JBS – Arunjith 2010-11-27 09:45:51

0

你使用的是相當古老的JBoss版本,我個人從來沒有看到它。但我認爲它應該與新的非常相似。

請儘量把你的用戶定義這些變量時後:

JBOSSUS=jbs 

的另一個解決辦法是執行運行腳本前設置這些變量:

export JBOSSUS=jbs; /etc/init.d/jboss start 

更新

我剛剛下載了JBoss 3.2.7,並檢查了jboss_init_redhat.sh腳本(我希望你使用這些作爲你的起始腳本的模板)。

jboss_init_redhat.sh你可以找到這樣的行文件:

#define the user under which jboss will run, or use RUNASIS 
#to run as the current user 
JBOSSUS=${JBOSSUS:-"jboss"} 

這些行定義了新的用戶名。它檢查變量JBOSSUS是否設置,如果不是則使用jboss用戶作爲默認名稱。

這些腳本的第二個有趣的部分:

if [ "$JBOSSUS" = "RUNASIS" ]; then 
    SUBIT="" 
else 
    SUBIT="su - $JBOSSUS -c " 
fi 

你應該知道一兩件事:當您自動運行的init腳本任何腳本它總是運行爲root用戶。那就是爲什麼在腳本中應該是將有效用戶改變爲其他人的命令。在這裏你有腳本的這些部分。

它首先檢查您的用戶名是否爲RUNASIS,如果是 - 什麼都不做。在另一種情況下,它使用su命令作爲另一個用戶運行JBoss。

你的情況應該是足以改變JBOSSUS變量定義,以類似的東西:

JBOSSUS = JBS

那之後,你可以啓動這些腳本爲root用戶,它應該與JBoss運行JVM與jbs用戶。