Ich versuche, der ausführbaren Java-Datei das Recht zu gewähren, Ports unter 1024 unter Linux zu öffnen. Hier ist das Setup
/home/test/java
enthält die Oracle Server JRE 7.0.25- CentOS 6.4
Hier ist, was getcap zurückgibt
[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
Der Versuch, Java auszuführen, führt zu folgendem Fehler.
[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
Ist es möglich, Java 7_u25 auszuführen, wenn die Binärdatei mit setcap erhöhte Berechtigungen erhalten hat, wenn ja, wie?
JDK-6919633: Runtime bietet keine Unterstützung für POSIX - Dateifunktionen (AKA Linux Capabilities) sagt , dass
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.
Wie mache ich die gemeinsam genutzten Bibliotheken vertrauenswürdig?