Tôi đang cố gắng cấp cho java thực thi quyền mở các cổng dưới 1024 trên Linux. Đây là thiết lập
/home/test/java
chứa máy chủ Oracle JRE 7.0.25- CentOS 6.4
Đây là những gì getcap trả về
[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
Cố gắng thực hiện java cho lỗi sau.
[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
Có thể chạy Java 7_u25 khi tệp nhị phân đã được cấp đặc quyền nâng cao với setcap, nếu vậy thì thế nào?
JDK-6919633: Thời gian chạy không hỗ trợ Khả năng tệp POSIX (Khả năng của AKA Linux) nói rằng
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.
Làm thế nào để tôi làm cho các thư viện chia sẻ đáng tin cậy?