Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, mais gardez à l'esprit que je n'ai pas testé d'autres versions de Debian.
Connectez-vous à votre VPS en tant qu'utilisateur root. Vous pouvez également exécuter les commandes avec sudo.
Étape 1: installation des dépendances
Pour commencer, vous devrez exécuter les commandes suivantes pour l'installation, qui seront expliquées plus loin.
apt-get install binutils debootstrap
Vous devrez également choisir un emplacement pour configurer le chroot. Pour cet article, nous allons utiliser le /var/chrootrépertoire.
Étape 2: création des répertoires requis
Créez le dossier chroot.
mkdir -p /var/chroot
Génial! Les étapes préliminaires sont terminées. Maintenant, rendons le chroot utile.
Étape 3 Copie des commandes et de leurs dépendances
Nous avons besoin d'un interpréteur de commandes, copions donc bash.
mkdir -p /var/chroot/bin
cp /bin/bash /var/chroot/bin
Chaque programme a ses propres dépendances, et bash en fait partie. Jetez-y un œil en exécutant:
ldd /bin/bash
Cela devrait ressembler à ceci si vous utilisez une version 32 bits:
linux-gate.so.1 => (0xb773e000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb7718000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7714000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb75c3000)
/lib/ld-linux.so.2 (0xb773f000)
Copions ces fichiers. Si vous voyez différentes dépendances, copiez simplement le chemin après la =>pièce.
mkdir -p /var/chroot/lib
mkdir -p /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libtinfo.so.5 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libdl.so.2 /var/chroot/lib/i386-linux-gnu
cp /lib/i386-linux-gnu/libc.so.6 /var/chroot/lib/i386-linux-gnu
Étape 4: tester l'environnement
Maintenant que nous avons la configuration bash - testons-la.
chroot /var/chroot
L'interpréteur de commandes bash s'ouvrira, mais il n'y aura aucune autre commande à exécuter. C'est parce que nous n'avons pas copié d'autres programmes dans le dossier chroot. Si vous souhaitez plus de commandes, tapez exitet répétez l'étape 3.
C'est tout ce qu'il faut. Vous avez maintenant un chroot de base configuré. Vous pouvez tester des commandes, emprisonner vos utilisateurs, etc.
Si vous souhaitez mettre en réseau dans le chroot, vous devrez exécuter les commandes suivantes
mkdir -p /var/chroot/etc
cp /etc/resolv.conf /var/chroot/etc
cp /etc/gai.conf /var/chroot/etc