Présentation

Un chroot est un environnement isolé qui reprend globalement celui d’un système spécifique.

Par exemple pour GNU/Linux Debian, un chroot serait un environnement Debian contenu dans un dossier avec toute l’arboresence de cette dernière et différentes applications choisies.

Ces applications peuvent communiquer avec le reste, mais ne peuvent pas avoir de répercutions désastreuses sur le reste du système (comme la suppression de fichiers).

Par exemple une personne mal intentionnée qui réussirait à exploiter une faille dans un serveur situé dans un chroot ne devrait pas pouvoir casser autre chose que le chroot.

Création (Debian squeeze)

La création, sous Debian, est très simple et se fait en quelques commandes.

On installe d’abord l’outil nécessaire à cela (en tant que root) :

su - root
apt-get install debootstrap

puis on créer les répertoires et on lance la création du chroot :

mkdir -p /srv/chroot/squeeze
CHROOT=/srv/chroot/squeeze
debootstrap --arch i386 squeeze $CHROOT http://ftp.fr.debian.org/debian/
mount -t proc proc $CHROOT/proc
mount -t devpts devpts $CHROOT/dev/pts

finalement on s’y connecte pour lancer des commandes à l’intérieur :

chroot $CHROOT /bin/bash --login
apt-get update
apt-get install locales nano
dpkg-reconfigure locales
nano /etc/debian_chroot

Dans le fichier qui apparaît à l’écran, on ajoute le code suivant :

(CHROOT) 

Ensuite on enregistre avec les touches [Ctrl] + [X], puis O.

On quitte le chroot puis on va à nouveau dedans pour vérifier que “(CHROOT)” apparaît bien :

exit
chroot $CHROOT /bin/bash --login

La variable $CHROOT sera perdu si vous vous déconnectez de votre session. La prochaine fois que vous vous connectez à la machine chroot, vous devrez faire :

CHROOT=/srv/chroot/squeeze
chroot $CHROOT /bin/bash --login

Vous êtes désormais prêt à installer différents services en tout genre dans votre chroot :).

Liens