在 CentOS 上配置 Java 权限,通常分几种常见场景。下面按最常用的情况给你说明:
如果你下载了 JDK/JRE,安装后 java 命令无法执行,一般是缺少执行权限。
cd /usr/local/java/jdk1.8.0_XXX/bin
chmod +x java javac jar
或一次性给整个目录:
chmod -R +x /usr/local/java/jdk1.8.0_XXX/bin
vi /etc/profile
添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_XXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
使配置生效:
source /etc/profile
java -version
chmod 750 /usr/local/java/jdk1.8.0_XXX/bin/java
chown root:javauser /usr/local/java/jdk1.8.0_XXX/bin/java
只有 javauser 组的用户能执行。
setcap CAP_NET_BIND_SERVICE=+eip /usr/local/java/jdk1.8.0_XXX/bin/java
chown -R appuser:appuser /data/javaapp
chmod -R 755 /data/javaapp
查看状态:
getenforce
临时关闭:
setenforce 0
永久关闭(不推荐生产):
vi /etc/selinux/config
SELINUX=disabled
示例:
[Service]
User=appuser
Group=appuser
ExecStart=/usr/local/java/jdk1.8.0_XXX/bin/java -jar /opt/app.jar
如果你能具体说一下:
我可以给你更精确的命令。