CentOS 7安装JDK8U171后普通用户执行java命令遇权限拒绝
解决普通用户执行
java -version提示Permission denied的问题 我来帮你搞定这个普通用户没法运行java命令的问题,这大概率是JDK安装目录的权限配置仅对root开放导致的,普通用户没有读取和执行JDK文件的权限,按下面的步骤操作就能解决:
步骤1:检查当前JDK目录及文件的权限
先切换回root用户,执行以下命令查看权限情况:
# 查看JDK根目录权限 ls -ld /opt/jdk1.8.0_171/ # 查看java可执行文件的权限 ls -l /opt/jdk1.8.0_171/bin/java
如果输出的权限是类似drwx------(目录)或-rwx------(文件),说明普通用户完全没有访问权限,这就是问题根源。
步骤2:修改JDK目录及子文件的权限
执行下面的命令,递归给所有普通用户添加读取和执行权限:
chmod -R o+rx /opt/jdk1.8.0_171/
这个命令会遍历/opt/jdk1.8.0_171/下的所有文件和目录,给其他用户(非所有者、非所属组)开放读(r)和执行(x)权限,确保普通用户能访问并运行java命令。
步骤3:验证链接文件权限(可选)
检查alternatives配置的/usr/bin/java链接权限,确保普通用户有执行权限:
ls -l /usr/bin/java
如果权限中其他用户位没有x,执行以下命令添加:
chmod o+x /usr/bin/java
步骤4:验证修复效果
切换回普通用户,再次执行命令验证:
java -version
这时候应该就能正常显示JDK版本信息了。
内容的提问来源于stack exchange,提问作者Ehsan Sadeghi
相关产品推荐
相关产品推荐

