【发布时间】:2017-11-23 11:47:37
【问题描述】:
在服务器上更新 Tomcat 后
Updated tomcat-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
Updated tomcat-admin-webapps-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
Updated tomcat-el-2.2-api-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
Updated tomcat-jsp-2.2-api-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
Updated tomcat-lib-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
Updated tomcat-servlet-3.0-api-7.0.69-11.el7_3.noarch @rhel-7-server-rpms
Update 7.0.76-3.el7_4.noarch @rhel-7-server-rpms
我收到错误:java.lang.UnsatisfiedLinkError: /usr/lib/oracle/12.1/client64/lib/libocijdbc12.so: libclntsh.so.12.1: cannot enable executable stack as shared object requires: Permission拒绝
/usr/lib/oracle/12.1/client64/lib/ 中的文件是可读的(不需要执行权限)。
在此更新之前,服务器正常运行(LD_LIBRARY_PATH, TNS_ADMIN、ORACLE_HOME 已设置)。
一个独立的 Java 应用程序使用相同的 Oracle 客户端运行良好,所以问题应该出在 Tomcat 中,但我不知道要检查什么。
有人对寻找什么有一些提示吗?
[编辑:] 禁用 Selinux 一切正常。我必须在 Selinux 中设置哪些设置才能解决此问题?
提前致谢。
【问题讨论】:
-
检查
man execstack。以及为什么不需要执行权限? -
问题出在 SELinux 中。禁用 SELinux 后一切正常。
-
启用 sellinux 并添加结果。
sestatus -b. -
结果如下:drive.google.com/open?id=16Pe9NUhBedMr5inWbDi2bCxE-7MhfgJf(作为评论传递太长)。 “当前模式:许可”正在工作,但我必须解决问题并将其设置回强制执行
标签: oracle tomcat unsatisfiedlinkerror