Nachdem es bereits ein Tutorial hier im KittMedia Blog gibt, das die Installation und Einrichtung von Jailkit zeigt, gibt es nun den nächsten Artikel, in dem die Konfiguration zu Jailkit gezeigt wird, um Java auch im chrooted-Shell zu aktivieren.
In der Standardkonfiguration nämlich enthält ein chrooted-Shell mit Jailkit keine Unterstützung für Java. Das nachfolgende Tutorial ist nur dazu geeignet, um Java-Programme aufzurufen, nicht aber, um Java-Quelltext zu kompilieren.
Vorbereitung
Bevor man Java in einem Jailkit einrichtet, muss natürlich Jailkit selbst installiert und eingerichtet werden. Wie das geht, steht hier:
kittmedia.com/2013/debian-chrooted-shell-mit-jailkit/
Konfiguration anpassen
Als grundlegender Schritt für Java in Jailkit muss die Konfiguration von Jailkit selbst geändert bzw. erweitert werden. Hierzu öffnet man die Datei /etc/jailkit/jk_init.ini
und fügt folgenden Inhalt unten zusätzlich ein:
[java_libraries]
comment = necessary file to execute java program
paths = /usr/lib/jdk1.6.0_22/bin/java, /lib/libpthread.so.0, /lib/libdl.so.2, /lib/libc.so.6, /usr/lib/jdk1.6.0_22/jre/lib, /lib/libm.so.6, /lib/libm-2.5.so, /proc/meminfo
Code-Sprache: JavaScript (javascript)
Java in Jailkit initialisieren
Wie auch alle anderen Befehle in Jailkit muss Java dann mit folgendem Befehl initialisiert werden:jk_init -v /var/jail java_libraries
Hier muss natürlich gegebenenfalls der Pfad zur Jail angepasst werden.
Benutzerdefinierte Änderung
Als Jail-Benutzer, also der, der Java in seiner chrooted-Shell nutzen können darf, einloggen und folgende Befehle ausführen:export JAVA_HOME=/usr/lib/jdk1.6.0_22
export PATH=$PATH:$JAVA_HOME/bin
export LD_LIBRARY_PATH=/usr/lib/jdk1.6.0_22/jre/lib/i386/jli/
Globale Änderung
Danach wieder als normaler root-Benutzer anmelden und das Verzeichnis /proc
in die chrooted-Shell mounten:mount --bind /proc /var/jail/proc