Dieses Paket ermöglicht die einfache Erstellung von Chroot-Umgebungen für einzelne Anwender um deren Systemzugriff einzuschränken, d.h. sie in einem Chroot-Gefängnis einzusperren.
Das Chroot-Paket beinhaltet keine weiteren externen Komponenten.
Dieses Paket benötigt keine weiteren Pakete um funktionieren zu können.
Das Chroot-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.
Das Menü im Setup-Programm ist wie folgt aufgebaut:
Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Deshalb wird auf deren Funktion nicht weiter eingegangen.
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/chroot.
Gültige Werte: yes, no
Standardeinstellung: START_CHROOT='no'
Gültige Werte: absoluter Pfadname
Standardeinstellung: CHROOT_DEFAULT_JAILPATH='/home/jail'
Gültige Werte: yes, no
Standardeinstellung: CHROOT_DEFAULT_ENABLE_SSH_APPS='no'
Gültige Werte: yes, no
Standardeinstellung: CHROOT_DEFAULT_ENABLE_RSYNC_APPS='no'
Gültige Werte: Zahl
Standardeinstellung: CHROOT_N='0'
Gültige Werte: yes oder no
Beispiel: CHROOT_1_ACTIVE='no'
Gültige Werte: beliebiger Text
Beispiel: CHROOT_1_COMMENT='Dies ist mein Server'
Gültige Werte: Anwendername
Beispiel: CHROOT_1_USER='frank'
Gültige Werte: absoluter Pfadname
Standardeinstellung: CHROOT_1_JAILPATH=”
Gültige Werte: yes, no
Standardeinstellung: CHROOT_1_LOCK_USER='yes'
Gültige Werte: yes, no
Standardeinstellung: CHROOT_1_ENABLE_SSH_APPS='no'
Gültige Werte: yes, no
Standardeinstellung: CHROOT_1_ENABLE_RSYNC_APPS='no'
Die erste Datei wird generell bei jeder Chroot-Umgebung gelesen, die zweite Datei kann zur individuellen Konfiguration für einzelner Anwender einer Chroot-Umgebung genutzt werden. Hier ist zu beachten, dass man bei einer gemeinsamen Nutzung einer Chroot-Umgebung durch mehrere Anwender die angegebenen Dateien natürlich allen Anwendern zur Verfügung gestellt werden.
Es ist zu beachten, dass die Dateien dem Anwender und der Gruppe 'root' gehören müssen und dass nur Zugriffsrechte für den Anwender 'root', z.B. 0600', eingerichtet wurden damit diese auch gelesen werden.
In den Dateilisten müssen die zu kopierenden Dateien zeilenweise, mit absoluter Pfadangabe aufgeführt werden.
Beispiel:
SSH_ALLOW_USER_N='1'
SSH_ALLOW_USER_1='frank'
SSH_ALLOW_GROUP_N='1'
SSH_ALLOW_GROUP_1='chroot'