не могу запустить java внутри grsec chroot

не могу запустить java внутри grsec chroot

Java прекрасно работает внутри обычного chroot.

Однако в защищенной среде chroot grsec он жалуется, что у него недостаточно памяти для создания виртуальной машины.

есть идеи, как заставить его работать, потому что мне действительно нужен защищенный chroot.

Спасибо.

решение1

В целом Java хорошо работает с grsec.

Однако в grsec есть опция, которая может полностью разрушить Java.

Похоже, эта опция включена в вашем ядре.

Проверьте это здесь:

[*] Grsecurity 
  Customize Configuration  --->
    PaX  --->
      Miscellaneous hardening features  ---> 
        [ ] Sanitize all freed memory

Убедитесь, что Sanitize all freed memoryэта опция отключена, перекомпилируйте ядро ​​(на мой взгляд, им нельзя управлять через sysctl) и повторите попытку.

решение2

Вам следует предоставить более подробную информацию: точный текст сообщения об ошибке, какую JVM вы используете и т. д.

У меня была похожая проблема при запуске Java на 32-битной Gentoo Hardened (тоже grsec, но без chroot):https://bugs.gentoo.org/show_bug.cgi?id=344135

Вы можете попытаться обойти эту проблему, изменив jvm.cfg так, чтобы вместо «сервера» использовалось «клиент», например:

[jvm.cfg.patch]
--client IF_SERVER_CLASS -server
--server KNOWN
+-client KNOWN

Также вы можете попробовать запустить Java с параметрами -client и/или -Xmx256m.

Связанный контент