JMX身份验证

时间:2012-05-15 08:21:18

标签: authentication jmx

$ cd $JAVA_HOME/jre/lib/management
$ cp jmxremote.password.template jmxremote.password
$ chmod u=rw jmxremote.password
$ vi jmxremote.password

设置“monitorRole”和“controlRole”的密码:

monitorRole 12monitor
controlRole 55control

之后当我在我的机器上运行JMX服务器时,出现了以下错误。

# java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.m
agement.jmxremote.authenticate=true  -Dcom.sun.management.jmxremote.ssl=false -D
java.rmi.server.host=47.168.96.31  com.example.Main
Error: Password file read access must be restricted: /root/Downloads/jdk1.6.0_29
/jre/lib/management/jmxremote.password

当我使用以下命令更改文件权限时,jmx server可以正常工作。

# chmod 400  jmxremote.password

# chmod 600  jmxremote.password

但我无法通过jmxremote.password文件中定义的用户名/密码连接它

1 个答案:

答案 0 :(得分:5)

要为JMX授权添加新的用户名/密码,必须定义身份验证 通过将用户名添加到jmxremote.access文件中。它应该像添加用户名“admin”

一样
>monitorRole   readonly
>admin         readonly
>controlRole   readwrite \
          create javax.management.monitor.*,javax.management.timer.* \
          unregister