
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.