kann Java nicht innerhalb von Grsec-Chroot ausführen

kann Java nicht innerhalb von Grsec-Chroot ausführen

Java läuft gut innerhalb des üblichen Chroot-Verzeichnisses.

In einem durch Grsec gehärteten Chroot wird jedoch bemängelt, dass nicht genügend Speicher zum Erstellen der VM vorhanden sei.

irgendwelche Ideen, wie ich es zum Laufen bekomme, denn ich brauche wirklich ein gehärtetes Chroot.

Danke.

Antwort1

Im Allgemeinen funktioniert Java gut mit grsec.

Es gibt jedoch eine Option in grsec, die für Java zu Problemen führt.

Anscheinend haben Sie diese Option in Ihrem Kernel aktiviert.

Überprüfen Sie es unter:

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

Stellen Sie sicher Sanitize all freed memory, dass die Option deaktiviert ist, kompilieren Sie den Kernel neu (meiner Meinung nach kann dies nicht über Sysctl verwaltet werden) und versuchen Sie es erneut.

Antwort2

Sie sollten weitere Details angeben: den genauen Text der Fehlermeldung, welche JVM Sie verwenden usw.

Ich hatte ein ähnliches Problem beim Ausführen von Java auf 32-Bit-Gentoo Hardened (auch grsec, aber ohne chroot):https://bugs.gentoo.org/show_bug.cgi?id=344135

Sie können versuchen, dieses Problem zu umgehen, indem Sie Ihre jvm.cfg so ändern, dass „Client“ statt „Server“ verwendet wird, zum Beispiel:

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

Sie können auch versuchen, Java mit den Optionen -client und/oder -Xmx256m auszuführen.

verwandte Informationen