Linuxで1024未満のポートを開く権利をJava実行可能ファイルに付与しようとしています。これが設定です
/home/test/java
Oracle Server JRE 7.0.25が含まれています- CentOS 6.4
getcapが返すものは次のとおりです
[test@centos6 java]$ pwd
/home/test/java
[test@centos6 java]$ getcap bin/java
bin/java = cap_net_bind_service+ep
[test@centos6 java]$ getcap jre/bin/java
jre/bin/java = cap_net_bind_service+ep
javaを実行しようとすると、次のエラーが発生します。
[test@centos6 java]$ bin/java
bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
[test@centos6 java]$ jre/bin/java
jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
バイナリにsetcapで昇格された権限が付与されている場合、Java 7_u25を実行することは可能ですか?
JDK-6919633:ランタイムは、POSIXファイル機能(AKA Linuxの機能)をサポートしていないが と言います
Note: when using the setcap the libraries needed by the java launcher
should be present in /usr/lib or any other "trusted" location that the
runtime loader (rtld) uses to find shared libraries.
共有ライブラリを信頼できるようにするにはどうすればよいですか?