linux - JBoss 用户权限

标签 linux jboss permissions centos activemq

我已经从 JBoss EAP 6.2.0GA 升级到 6.3.0GA,在将 ActiveMQ 作为嵌入式模块安装后遇到了这个问题。相同的配置在我的 Windows 计算机上运行,​​所以我相信这是某种 CentOS 权限问题。

INFO [org.apache.activemq.store.SharedFileLocker] (Starting ActiveMQ Broker) Database activemq-data/kahadb/lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOException: Failed to create directory 'activemq-data/kahadb'

请注意,写入日志或任何内容都没有问题。就是这个该死的activemq相关权限。

仅当我将其作为服务运行时才会出现此问题。 IE。 服务 jboss-as 开始

如果我运行 bin/standalone.sh & 它工作正常。

我现在已经将与 JBoss 相关的所有内容的所有权授予 jboss.jboss 用户,所有内容的 chmod 为 755。 (有很多关于 jboss:jboss 或 jboss.jboss 的令人困惑的信息来引用 jboss 组中的用户。但两者都不起作用。)

   chown -fR jboss.jboss /usr/share/jboss-eap-6.3/
   chown jboss.jboss /usr/share/jboss-as
   chown jboss.jboss /etc/init.d/jboss-as
   chown jboss.jboss /etc/jboss-as/jboss-as.conf

我已经做了

ln -s -T /usr/share/jboss-eap-6.3 /usr/share/jboss-as
ln -s -T /usr/share/jboss-eap-6.3/bin/init.d/jboss-as-standalone.sh /etc/init.d/jboss-as
ln -s -T /usr/share/jboss-eap-6.3/bin/init.d/jboss-as.conf /etc/jboss-as/jboss-as.conf

我的 mgmt-groups.properties 有:

jboss=jboss, admin, SuperUser

并不是说我特别了解这有什么帮助。

我的 mgmt-users.properties 有:

jboss=6ca43af9943e59f1563a1ff04472a8f9

暗示 add-user.sh 做了一些事情。

我没有针对安全或权限编辑 standalone.xml。

grep 'jboss' /etc/group

显示:

jboss:x:502:

有人吗?

最佳答案

好的,通过打开 DEBUG 日志并单步执行来解决。

不同之处在于,当您启动服务 X 时,它会从/etc/rc.d/init.d/目录运行它,而不是当您直接启动它时,它会从/bin/目录运行它.

     [org.apache.activemq.broker.BrokerService] (Starting ActiveMQ Broker) Using Persistence Adapter: KahaDBPersistenceAdapter[/etc/rc.d/init.d/activemq-data/kahadb]
ESC[0mESC[0m13:31:46,998 INFO  [org.apache.activemq.store.SharedFileLocker] (Starting ActiveMQ Broker) Database activemq-data/kahadb/lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOException: Failed to create directory 'activemq-data/kahadb'

所以这有效:

chown -R jboss.jboss /etc/rc.d/init.d/
chmod -R 755 /etc/rc.d/init.d/

关于linux - JBoss 用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771094/

相关文章:

java - 如何通过我们的程序在运行时注册新的 JNDI 名称?

grails - Grails内存泄漏-ConcurrentHashMap

windows - 以编程方式编辑 Windows 8 上的 BCD 存储?

Android:拒绝振动器的许可(发生了什么?)

c# - ubuntu 中 vscode 中的 oracle 连接

linux - 如何从linux内核模块(cpu : ARM))写入寄存器

linux - 从 LD_LIBRARY_PATH 中删除条目

linux - 列与制表符而不是空格对齐

java - 如何在jboss中部署资源适配器

ios - Flutter:在权限处理程序中在IOS上添加位置权限