在 CentOS 上“Java 配置权限”常见有几种场景,下面分情况说,你可以对照自己的需求来看。
如果你是自己安装的 JDK(比如 /usr/local/java/),需要给 java、javac 可执行权限:
chmod +x /usr/local/java/bin/java
chmod +x /usr/local/java/bin/javac
如果是整个目录统一给权限:
chmod -R 755 /usr/local/java
⚠️ 不建议用
777
vim /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
如果你是 普通用户,但 Java 装在 root 目录(如 /root/java),普通用户访问不了:
mv /root/java /opt/java
chmod -R 755 /opt/java
chown -R 用户名:用户组 /usr/local/java
chmod +x app.jar
java -jar app.jar
或:
chmod 755 app.jar
如果权限都对,但 Java 仍报错,可能是 SELinux:
getenforce
setenforce 0
编辑:
vim /etc/selinux/config
改为:
SELINUX=disabled
如果你用 systemctl 启动 Java:
[Service]
User=appuser
ExecStart=/usr/local/java/bin/java -jar /opt/app/app.jar
确保:
chown -R appuser:appuser /opt/app
如果你能说 具体报错信息 或 你是想干嘛(运行 jar?装 JDK?部署服务?),我可以给你更精确的命令。