带有RUNASIS选项的jboss

时间:2010-11-27 08:48:50

标签: jboss

我使用带有RUNASIS选项的jboss与linux用户jbs一起启动jboss_3.2.7,但是当整个系统[linux]重新启动时它无法正常工作。以root用户身份启动jboss。

我在linux的chkconfig选项中添加了jboss服务,用于在linux restart上启动jboss。

2 个答案:

答案 0 :(得分:0)

在jboss服务文件(/etc/init.d)中将用户修改为RUNASIS
定义运行jboss的用户,或使用RUNASIS作为当前用户运行

JBOSSUS = $ {JBOSSUS: - “RUNASIS”}

答案 1 :(得分: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 user作为默认名称。

这些剧本的第二个有趣部分:

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

您应该知道一件事:当您从init脚本自动运行任何脚本时,它始终以root用户身份运行。这就是为什么在脚本中应该命令将有效用户更改为其他人。在这里你有脚本的这些部分。

首先检查您的用户名是否为RUNASIS,如果 - 则不执行任何操作。在另一种情况下,它使用su命令将JBoss作为另一个用户运行。

在您的情况下,将JBOSSUS变量定义更改为类似的内容应该足够了:

JBOSSUS = JBS

之后,您可以以root用户身份启动这些脚本,并且应该使用带有jbs用户的JBoss运行JVM。