Jboss 带RUNASIS选项的jboos

Jboss 带RUNASIS选项的jboos,jboss,Jboss,我正在使用jboss with RUNASIS选项启动jboss_3.2.7,使用linux用户jbs,但在整个系统[linux]重新启动时它不工作。以root用户身份启动jboss 我在linux的chkconfig选项中添加了jboss服务,用于在linux重启时启动jboss。在jboss服务文件/etc/init.d中将用户修改为RUNASIS 定义运行jboss的用户,或使用RUNASIS作为当前用户运行 JBOSSUS=${JBOSSUS:-RUNASIS}您使用的是非常旧的JBos

我正在使用jboss with RUNASIS选项启动jboss_3.2.7,使用linux用户jbs,但在整个系统[linux]重新启动时它不工作。以root用户身份启动jboss


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

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


JBOSSUS=${JBOSSUS:-RUNASIS}

您使用的是非常旧的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用户身份启动这些脚本,它应该使用JBoss和jbs user运行JVM。

当启动JBoss时,由于linux日志用户是jbs,这一点工作正常。但在LinuxOS重启时,它是以root用户身份启动的。如果我使用这个选项,它将提示输入jbsuser密码,为了避免这个问题,我选择了RUNASIS选项,它工作正常。RUNASIS将接收登录用户。但是在操作系统重新启动时,jboss将以root用户启动。我没有这些jboss安装文件。你能提供所有的初始化脚本吗?检查脚本中的内容会容易得多。