简短版本:允许Java 7运行的最安全方式是什么(带?)SELinux?
长版:
如果我使用不正确的术语,请提前抱歉.我真的只是一个只有少量Linux技能的Java开发人员.
我刚刚在CentOS版本5.3(最终版)上安装了Java 7,它显然具有安全增强型Linux.安装完成后(我通过从/usr/java/jdk/jdk1.7.0_25中解压缩来自Oracle的tar.gz文件来“安装”),我运行了java -version并收到此错误:
Error: dl failure on line 864
Error: failed /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so,
because /usr/java/jdk1.7.0_25/jre/lib/i386/server/libjvm.so:
cannot restore segment prot after reloc: Permission denied`
我发现了一些文章说明这可能是由于SELinux并尝试setenforce 0并查看问题是否消失.我跑了那个命令,Java工作了.但是这些相同的文章说在互联网连接的主机上留下setenforce 0是危险的,我的主机连接到互联网.
还有其他文章提出了下一种方法,但也说它可能很危险,所以我还没有尝试过.
chcon -t textrel_shlib_t /usr/jre1.7.0_10/lib/i386/client/libjvm.so
…在上面的命令中,命令末尾的路径被我的JDK路径替换.
我找不到的是关于如何安全地运行Java 7(带?)SELinux的“官方”(可能意味着许多事情).有没有人对我有任何信息?
编辑:我发现了一篇提到编辑/ etc / selinux / config的文章.我已设置如下面的示例所示.这允许Java运行,但我想我现在有一些安全漏洞.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
解决方法:
yum -y localinstall /path/to/downloaded-java.rpm
休息会得到照顾.
标签:selinux,java,linux
来源: https://codeday.me/bug/20190809/1631274.html