Einige Administratoren unterscheiden zwei verschiedene Jail-Arten: “Komplette” Jails, die ein echtes FreeBSD darstellen und Jails für einen bestimmten “Dienst”, die nur einer bestimmten Anwendung oder einem Dienst (der möglicherweise mit besonderen Privilegien laufen soll) gewidmet sind. Dies ist aber nur eine konzeptuelle Unterscheidung, die Einrichtung einer Jail bleibt davon gänzlich unberührt.
# setenv D /hier/ist/die/jail # mkdir -p $D# cd /usr/src # make buildworld
# make installworld DESTDIR=$D
# make distribution DESTDIR=$D
# mount -t devfs devfs $D/dev
Ist eine Jail einmal erst erstellt, kann sie durch
jail(8) gestartet werden. jail(8) benötigt
zwingend mindestens vier Argumente, die im Abschnitt Abschnitt 16.3.1 des Handbuchs beschrieben sind. Weitere
Argumente sind möglich, um beispielsweise die Jail mit den
Berechtigungen eines bestimmten Benutzers laufen zu lassen. Das
Argument command
hängt vom Typ der Jail ab; für ein virtuelles
System ist /etc/rc eine gute
Wahl, da dies dem Startvorgang eines echten FreeBSD-Systems
entspricht. Bei einer Service-Jail
hängt dieses von der Art des Dienstes ab, der in der Jail
laufen soll.
Jails werden häufig mit dem Betriebssystem gestartet, da der rc-Mechanismus von FreeBSD dafür eine einfach zu realisierende Möglichkeit bietet.
Eine Liste der Jails, die mit dem Betriebssystem gestartet werden sollen, wird in die Datei rc.conf(5) geschrieben:
jail_enable="YES" # Set to NO to disable starting of any jails jail_list="www" # Space separated list of names of jails
Anmerkung: Die Namen der Jails in der
jail_list
sollten nur alphanumerische Zeichen enthalten.
Für jede Jail in der jail_list
sollten in rc.conf(5) einige Einstellungen
vorgenommen werden:
jail_www_rootdir="/usr/jail/www" # jail's root directory jail_www_hostname="www.example.org" # jail's hostname jail_www_ip="192.168.0.10" # jail's IP address jail_www_devfs_enable="YES" # mount devfs in the jail jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail
Beim Start einer in rc.conf(5) konfigurierten Jail
wird das /etc/rc-Skript der Jail (das
"annimmt", dass es sich in einem kompletten System befindet)
aufgerufen. Für Service-Jails sollten die Startskripte
der Jail durch das Setzen der Option
jail_jailname_exec_start
entsprechend angepasst werden.
Anmerkung: Eine vollständige Liste der Optionen findet sich in der Manualpage zu rc.conf(5).
Das /etc/rc.d/jail-Skript kann zum manuellen Starten und Stoppen der Jail genutzt werden, wenn ein Eintrag in rc.conf angelegt wurde:
# /etc/rc.d/jail start www # /etc/rc.d/jail stop www
Es gibt momentan keinen sauberen Weg, eine jail(8) zu stoppen. Dies liegt daran, dass die Kommandos zum sauberen Herunterfahren eines Systems innerhalb einer Jail nicht ausgeführt werden können. Der beste Weg eine Jail zu beenden ist es daher, innerhalb der Jail den folgenden Befehl auszuführen (alternativ können Sie auch jexec(8) von außerhalb der Jail aufrufen):
# sh /etc/rc.shutdown
Weitere Informationen zu diesem Thema finden Sie in der Manualpage jail(8).
Zurück | Zum Anfang | Weiter |
Einführung | Nach oben | Feinabstimmung und Administration |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.