Я намагаюся надати виконуваному Java-файлу право відкривати порти нижче 1024 в Linux. Ось налаштування
/home/test/java
містить сервер Oracle 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
Чи можливо запустити Java 7_u25, коли двійковій системі надано підвищені привілеї за допомогою setcap, якщо так, як?
JDK-6919633: Час виконання не підтримує POSIX-файлові можливості (AKA Linux Capability) говорить, що
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.
Як мені зробити довіру спільних бібліотек?