J'essaie d'accorder à l'exécutable Java le droit d'ouvrir des ports inférieurs à 1024 sous Linux. Voici la configuration
/home/test/java
contient Oracle Server JRE 7.0.25- CentOS 6.4
Voici ce que retourne 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
Essayer d'exécuter Java donne l'erreur suivante.
[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
Est-il possible d'exécuter Java 7_u25 lorsque le binaire a reçu des privilèges élevés avec setcap, si oui, comment?
JDK-6919633: Le runtime ne prend pas en charge les capacités de fichiers POSIX (AKA Linux Capabilities) indique que
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.
Comment faire confiance aux bibliothèques partagées?