In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, aber denken Sie daran, dass ich keine anderen Versionen von Debian getestet habe.
Melden Sie sich bei Ihrem VPS als Root an. Sie können die Befehle auch mit sudo ausführen.
Schritt 1: Installieren der Abhängigkeiten
Zu Beginn müssen Sie die folgenden Befehle für die Installation ausführen, die später erläutert werden.
apt-get install binutils debootstrap
Sie müssen auch einen Ort auswählen, an dem die Chroot eingerichtet werden soll. Für diesen Artikel verwenden wir das /var/chrootVerzeichnis.
Schritt 2: Erstellen der erforderlichen Verzeichnisse
Machen Sie den Chroot-Ordner.
mkdir -p /var/chroot
Groß! Die vorbereitenden Schritte sind abgeschlossen. Lassen Sie uns nun die Chroot nützlich machen.
Schritt 3 Kopieren von Befehlen und deren Abhängigkeiten
Wir brauchen einen Befehlsinterpreter, also kopieren wir bash.
mkdir -p /var/chroot/bin
cp /bin/bash /var/chroot/bin
Jedes Programm hat seine eigenen Abhängigkeiten, und Bash ist eine davon. Schauen Sie sie sich an, indem Sie laufen:
ldd /bin/bash
Es sollte so aussehen, wenn Sie eine 32-Bit-Version ausführen:
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)
Kopieren wir diese Dateien. Wenn Sie unterschiedliche Abhängigkeiten sehen, kopieren Sie einfach den Pfad nach dem =>Teil.
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
Schritt 4: Testen der Umgebung
Jetzt, wo wir das Bash-Setup haben, testen wir es.
chroot /var/chroot
Der Bash-Befehlsinterpreter wird geöffnet, es können jedoch keine anderen Befehle ausgeführt werden. Dies liegt daran, dass wir keine anderen Programme in den chroot-Ordner kopiert haben. Wenn Sie weitere Befehle wünschen, geben Sie exitSchritt 3 ein und wiederholen Sie ihn.
Das ist alles was es braucht. Sie haben jetzt eine grundlegende Chroot eingerichtet. Sie können Befehle testen, Ihre Benutzer einsperren usw.
Wenn Sie sich in der Chroot vernetzen möchten, müssen Sie die folgenden Befehle ausführen
mkdir -p /var/chroot/etc
cp /etc/resolv.conf /var/chroot/etc
cp /etc/gai.conf /var/chroot/etc