Intereting Posts
Смущает эта команда `find` в скрипте Bash? i3wm: вызов программы через i3 в одном рабочем пространстве, вызов программы через терминал в другой Настроить nautilus в xfce Почему национальные (польские) персонажи не отображаются в bash на экране по серийному номеру? apparmor и Firefox Как узнать наибольшее количество во многих документах, содержащих разные номера comm не работает, чтобы найти уникальные слова file1 из двух файлов Почему текстовые редакторы устанавливают mtime при сохранении, если никаких изменений не было сделано? Как включить различные фоны для каждого экрана видового экрана в Linux? Локальный кеш Nix игнорируется, поскольку в файле информации NAR отсутствует подпись Команда Wget – как загрузить с определенного IP-адреса и порта Ошибки сессии Bash в командах: «fork: не может выделить память» поддержка systemd для переключения взаимоисключающих сервисов? MUMPS не позволяет создать файл размером более 2 ГБ Размер символической ссылки

Один пользователь, не являющийся пользователем root, запускает пристань через порт 512, который меньше этого порта1024

Клиент просит нас создать пользователя без полномочий root для запуска нашей веб-системы, которая связывает порт 512, меньше 1024. Когда веб-сервер ( причал ) работает, это исключение:

2013-10-16 14:49:51.406:WARN::failed Server@2c2893ce: java.net.SocketException: Permission denied 2013-10-16 14:49:51.406:WARN::EXCEPTION java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:444) at sun.nio.ch.Net.bind(Net.java:436) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) 

Поэтому я узнал о некоторых решениях о том, как не связанный с root пользовательский порт меньше 1024, наконец, решение, которое я использовал, было установлено «cap_net_bind_service» в java, с помощью set Capabilities, команда:

 sudo setcap cap_net_bind_service+eip /usr/lib/jvm/jdk1.7.0_25/bin/java 

Но когда я снова начинаю причал, возникает еще одна ошибка:

 [admin@VPRCEMSUSOFC04 bin]$ ./jetty.sh start Starting Jetty: /usr/lib/jvm/jdk1.7.0_25/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 

Даже когда я выполняю java -version , это также вызывает исключение:

 [admin@VPRCEMSUSOFC04 bin]$ java -version java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory 

Но когда я вхожу в систему с помощью root, все в порядке:

 [root@VPRCEMSUSOFC04 etc]# java -version java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) 

Я не могу понять, почему это происходит. Почему существуют два разных результата под root и non-root user. Кажется, что набор возможностей влияет на это.

Ядро Linux – 2.6.32-220.el6.x86_64. ОС – Red Hat Enterprise Linux Server версии 6.2 (Сантьяго).

Исполняемый файл Java полагается на функцию, которая отключается ядром, когда исполняемый файл приобретает дополнительные разрешения или возможности в качестве меры безопасности. Если вы хотите использовать этот исполняемый файл как не-root, вам нужно добавить расположение libjli.so в конфигурацию вашего загрузчика, расположенную в /etc/ld.so.conf* .