jmx远程访问权限设置


1.复制jdk提供的jmx帐号和密码配置文件模板到tomcat的conf目录:

cp $JAVA_HOME/jre/lib/management/jmxremote.* tomcat/conf

2.重命名:jmxremote.password.template为jmxremote.password

 mv jmxremote.password.template  jmxremote.password

3.给密码文件加上写权限:
 chmod +w jmxremote.password

4.以追加文件方式往jmx权限控制文件中加入一个只读权限的帐号,读写权限是readwrite

 echo "jmxuser         readonly" >> jmxremote.access

5.往jmx权限控制的密码文件中加入帐号的密码

 echo "jmxuser jmxpwd" >> jmxremote.password

6.修改jmxremote.*的权限,只允许启动tomcat的用户名对该文件拥有读写权限:

chmod 600 jmxremote.*

7.修改catalina.sh判断,不是stop时启用jmx

if [ "$1" != "stop" ]; then

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=$CATALINA_HOME/conf/jmxremote.access"

fi

注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限  chmod 600 * 

 这样就可以通过jconsole连接8099端口,使用刚才设置的用户名密码jmxuser/jmxpwd进行远程访问

原文地址:https://www.cnblogs.com/langke93/p/4089662.html