java.lang.UnsatisfiedLinkError: ... libocijdbc12.so: libclntsh.so.12.1: cannot enable executable stack as shared object requires: Permission denied
java.lang.UnsatisfiedLinkError: ... libocijdbc12.so: libclntsh.so.12.1: cannot enable executable stack as shared object requires: Permission denied
在服务器上更新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共享对象要求:权限被拒绝
/usr/lib/oracle/12.1/client64/lib/中的文件是可读的(不需要执行权限)。
服务器在此更新之前没有任何问题(LD_LIBRARY_PATH,
TNS_ADMIN、ORACLE_HOME已设置)。
一个独立的 java 应用程序使用相同的 Oracle 客户端工作正常,所以问题应该在 Tomcat 但我不知道要检查什么。
有没有人对要查找的内容有一些提示?
[edit:] 禁用 Selinux 一切正常。我必须在 Selinux 中设置什么设置才能解决此问题?
提前致谢。
我猜。打开 'httpd_execmem' 和 'httpd_can_network_connect_db' 但你必须检查其他条目的用途 httpd*.
看来我的问题是 Oracle Instant client 12.1。
重新安装 12.1 并没有解决问题,但卸载 12.1 客户端并安装 Instant 客户端 12.2 确实解决了我的问题,而无需更改 SELinux 中的任何内容。
希望这对其他人有所帮助。
此致!
在服务器上更新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共享对象要求:权限被拒绝
/usr/lib/oracle/12.1/client64/lib/中的文件是可读的(不需要执行权限)。
服务器在此更新之前没有任何问题(LD_LIBRARY_PATH, TNS_ADMIN、ORACLE_HOME已设置)。
一个独立的 java 应用程序使用相同的 Oracle 客户端工作正常,所以问题应该在 Tomcat 但我不知道要检查什么。
有没有人对要查找的内容有一些提示?
[edit:] 禁用 Selinux 一切正常。我必须在 Selinux 中设置什么设置才能解决此问题?
提前致谢。
我猜。打开 'httpd_execmem' 和 'httpd_can_network_connect_db' 但你必须检查其他条目的用途 httpd*.
看来我的问题是 Oracle Instant client 12.1。 重新安装 12.1 并没有解决问题,但卸载 12.1 客户端并安装 Instant 客户端 12.2 确实解决了我的问题,而无需更改 SELinux 中的任何内容。
希望这对其他人有所帮助。
此致!