Vom Hostsystem mehrere Befehle in einem jail ausführen

Hallo zusammen,

nachdem ich mich jahrelang mit Linux (hauptsächlich Debian) beschäftigt habe, mache ich nun seit einigen Tagen meine ersten Gehversuche mit FreeBSD.

Ich habe einen kleinen Server, auf diesem läuft nun ein FreeBSD 13.1-RELEASE-p2.
Dann habe ich ein jail "webserver" erstellt, in diesem läuft u.a. ein nginx.
Das funktioniert auch alles prima.

Nun wechseln ich in das jail:
jexec -l webserver /usr/local/bin/bash

Hier führe ich folgenden Befehl aus:
if [ ! -f "/tmp/was-auch-immer" ]; then echo "gibt es nicht"; fi

Das funktioniert problemlos - ich erhalte die Ausgabe "gibt es nicht".
So weit, so gut.

Meine Frage: Ist es auch möglich, so einen Befehl aus dem Hostsystem heraus auszuführen? Das Kommando soll natürlich im jail ausgeführt werden.
Ich würde gerne möglichst viel vom Hostsystem machen, ohne die einzelnen jails betreten zu müssen.

Vielen Dank im Voraus.

Liebe Grüße,
frechdachs
 
Hey,
einzelne commands kannst du einfach mit jexec jailname command (Beispiel: jexec httpd date) ausführen.
Wenn ich mehrere Commands ausführen möchte, mach ich das immer so: jexec httpd sh -c "whoami ; date"
Keine Ahnung ob das richtig ist, aber es funktioniert?
 
Meine Frage: Ist es auch möglich, so einen Befehl aus dem Hostsystem heraus auszuführen? Das Kommando soll natürlich im jail ausgeführt werden.
Ich würde gerne möglichst viel vom Hostsystem machen, ohne die einzelnen jails betreten zu müssen.
Hallo frechdachs :-) Ehrlich gesagt, sehe ich das anders: eine Jail ist eine "abgeschottete" Umgebung. Ich möchte daher möglichst wenig vom Hostsystem machen, wenn ich in der Jail arbeiten möchte. Das erspart auch Probleme, wenn man schon was falsch eintippt, dann ist die Gefahr geringer auch im Hostsystem was kaputt zu machen... Viele Grüße, Norbert
 
Hallo Robert,
ich habe mir mehrere Vorträge von Michael W. Lucas auf Youtube angeschaut. In den Videos zum Thema "jails" hat er gesagt, dass es grundsätzlich zwei Möglichkeiten gibt:
1.) Konfiguration/Administration des jail aus dem jail
2.) Konfiguration/Administration des jail vom Hostsystem

Und wenn ich es richtig im Kopf habe, dann hat er sich für seine Projekte für Variante 2 entschieden.

Hinzu kommt, dass viele Befehle ja auch die jail-Unterstützung beinhalten:
pkg -j webserver install vim
ps -ax -J webserver


Liebe Grüße,
frechdachs
 
Moin, aber noch bin ich Norbert :-)

Klar gibt es 2 Wege mit einer Jail zu arbeiten.

Den Weg (1) - also in einer Jail zu arbeiten - würde ich als standard sehen, insbesondere, wenn man z.B. abgeschottete Umgebungen für andere Benutzer auf einem Server hat. Verständlich, oder? Oder einfach, weil es sich um eine abgeschottete Umgebung handelt.

Zu (2): Administration einer Jail von aussen ist eine gute Ausnahme. In vielen Fällen ist das sogar sinnvoll.

Viele Grüße :-)
 
Hallo Norbert,

entschuldige bitte, dass ich einen falschen Namen verwendet habe.

Danke für die Info. Sehe ich genauso.

Liebe Grüße,

Thilo
 
Den Weg (1) - also in einer Jail zu arbeiten - würde ich als standard sehen, insbesondere, wenn man z.B. abgeschottete Umgebungen für andere Benutzer auf einem Server hat.
Ja. Wenn der Benutzer selbst seine eigene Jail administrieren soll, dann macht es natürlich Sinn das innerhalb der Jail zu machen. Wenn man da einen Service (Webserver, whatever) betreibt kann das aber schon wieder anders aussehen. Dort dient die Jail als Schutzzone. Innerhalb dieser Schutzzone möchte man aber möglichst wenig drin haben damit ein potentieller Angreifer möglichst wenig machen kann. Alles was nicht unbedingt für den reinen Betrieb der Jail benötigt wird fliegt dann raus. Die Administration erfolgt dann "von außen" weil drin gar nicht genug Kram ist um es dort zu machen.

Insofern lässt sich beides gut begründen und es kommt halt auf das Szenario drauf an. Daher finde ich es schwierig da irgendein "Standard" zu setzen.

Wenn man möchte kann man ja sogar nested (a-k-a hierarchical) Jails machen. Dann halt man noch mal ein Jail-Layer zwischen den Jails und dem Hostsystem. Dann hat man sowohl den Jail-Administrationskram vom Host-System entkoppelt als auch das man die einzelnen Jails möglichst mager halten kann.
 
jau - aber z.B. habe ich jails für Webserver und Datenbanken (postgresql) laufen, und selbst da gehe ich "in" die jail (per jexec oder ssh) um darin zu arbeiten... Nun, diese jails sind nur bedingt offen für andere Benutzer. Als Konterpart ist die jail, wo User ihre Applikationen laufen lassen können. Die ist dann offen für viele.
 
Zurück
Oben