Certains administrateurs divisent les environnements jail en deux catégories: les environnements jails “complets”, qui ressemblent à un véritable système FreeBSD, et les environnements jails de “service”, qui sont dédiés à une application ou un seul service, et tournant éventuellement avec des privilèges. Cette séparation est juste conceptuelle et n'affecte pas la création de l'environnement jail. La page de manuel jail(8) est très claire quant à la procédure de création d'un environnement jail:
# setenv D /here/is/the/jail # mkdir -p $D# cd /usr/src # make world DESTDIR=$D
# cd etc/ [1] # make distribution DESTDIR=$D
# mount_devfs devfs $D/dev
Une fois l'environnement jail installé, il peut
être lancé en employant l'utilitaire jail(8).
Cet outil requiert obligatoirement quatre arguments qui sont
décrits dans la Section 15.3.1. D'autres
arguments peuvent également être utilisés,
pour par exemple exécuter le processus avec les droits
d'un utilisateur particulier. L'argument
command
dépend du type d'environnement; pour un
système virtuel,
/etc/rc est un bon choix puisque la
séquence de démarrage d'un véritable
système FreeBSD sera dupliquée. Pour un
environnement jail de type service, cela
dépendra du service ou de l'application qui sera
exécuté dans l'environnement jail.
Les environnements jails sont souvent lancés au démarrage de la machine et le système rc de FreeBSD propose une méthode simple pour cela.
Une liste des environnements jail autorisés à être lancés au démarrage du système devrait être ajoutée au fichier rc.conf(5):
jail_enable="YES" # Utiliser NO pour désactiver le lancement des environnements jail jail_list="www" # Liste des noms des environnements jail séparés par une espace
Pour chaque environnement listé dans
jail_list
, un ensemble de
paramètres rc.conf(5), qui décrivent
l'environnement jail, devrait être
ajouté:
jail_www_rootdir="/usr/jail/www" # le répertoire racine de l'environnement jail jail_www_hostname="www.example.org" # le nom de machine de l'environnement jail jail_www_ip="192.168.0.10" # son adresse IP jail_www_devfs_enable="YES" # monter devfs dans l'environnement jail jail_www_devfs_ruleset="www_ruleset" # les règles devfs à appliquer à l'environnement jail
Le démarrage par défaut des environnements
jails, configuré dans rc.conf(5),
exécutera la procédure
/etc/rc de l'environnement jail, ce qui
suppose que l'environnement est un système virtuel
complet. Pour les environnements jail de service, la
commande de démarrage par défaut de
l'environnement devrait être modifiée en
configurant correctement l'option
jail_jailname_exec_start
.
Note : Pour une liste complète des options disponibles, veuillez consulter la page de manuel rc.conf(5).
La procedure /etc/rc.d/jail peut être utilisée pour démarrer ou arrêter un environnement jail à la main si une entrée pour l'environnement existe dans le fichier rc.conf:
# /etc/rc.d/jail start www # /etc/rc.d/jail stop www
Il n'existe pas pour le moment de méthode propre pour arrêter un environnement jail(8). C'est dû au fait que les commandes normalement employées pour arrêter proprement un système ne peuvent être utilisées à l'intérieur d'un environnement jail. La meilleur façon d'arrêter un environnement jail est de lancer la commande suivante à l'intérieur de l'environnement ou en utilisant le programme jexec(8) depuis l'extérieur de l'environnement:
# sh /etc/rc.shutdown
Plus d'information à ce sujet peut être trouvé dans la page de manuel de jail(8).
[1] | Cette étape n'est pas requise sous FreeBSD 6.0 et versions ultérieures. |
Précédent | Sommaire | Suivant |
Introduction | Niveau supérieur | Optimisation et administration |
Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.