JMX身份验证

Ahm*_*aya 5 authentication jmx

$ cd $JAVA_HOME/jre/lib/management
$ cp jmxremote.password.template jmxremote.password
$ chmod u=rw jmxremote.password
$ vi jmxremote.password
Run Code Online (Sandbox Code Playgroud)

设置"monitorRole"和"controlRole"的密码:

monitorRole 12monitor
controlRole 55control
Run Code Online (Sandbox Code Playgroud)

之后当我在我的机器上运行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
Run Code Online (Sandbox Code Playgroud)

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

# chmod 400  jmxremote.password
Run Code Online (Sandbox Code Playgroud)

要么

# chmod 600  jmxremote.password
Run Code Online (Sandbox Code Playgroud)

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

Ahm*_*aya 5

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

>monitorRole   readonly
>admin         readonly
>controlRole   readwrite \
          create javax.management.monitor.*,javax.management.timer.* \
          unregister
Run Code Online (Sandbox Code Playgroud)