我開始使用帶有RUNASIS選項的jboss的linux用戶jbs的jboss_3.2.7,但是在整個系統[linux]重新啓動時它不工作。以root用戶身份啓動jboss。帶有RUNASIS選項的jbooss
我在linux的chkconfig選項中添加了jboss服務,用於在linux重新啓動時啓動jboss。
我開始使用帶有RUNASIS選項的jboss的linux用戶jbs的jboss_3.2.7,但是在整個系統[linux]重新啓動時它不工作。以root用戶身份啓動jboss。帶有RUNASIS選項的jbooss
我在linux的chkconfig選項中添加了jboss服務,用於在linux重新啓動時啓動jboss。
你使用的是相當古老的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
用戶。
發佈/etc/init.d腳本。 – trojanfoe 2010-11-27 08:51:38