Вы используете довольно старую версию 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
Вы должны знатьодна вещь: когда вы автоматически запускаете любой скрипт из сценариев инициализации, он всегда запускается как пользователь root
.Вот почему в скрипте должна быть команда, которая меняет действующего пользователя на кого-то другого.И вот у вас есть эти части скрипта.
Сначала проверяется, является ли ваше имя пользователя RUNASIS
, а если yes - ничего не делать.В другом случае он запускает JBoss от имени другого пользователя с помощью команды su
.
В вашем случае должно быть достаточно изменить определение переменной JBOSSUS
на что-то вроде этого:
JBOSSUS =jbs
После этого вы можете запустить этот скрипт как пользователь root
, и он должен запустить JVM с JBoss с пользователем jbs
.