Content
Dateianzeige für chroot (1.2.0)
usr/share/doc/chroot/chroot.txt
Das Chroot-Paket
Die Einleitung
Dieses Paket ermoeglicht die einfache Erstellung von Chroot-Umgebungen
fuer einzelne Anwender um deren Systemzugriff einzuschraenken, d.h. sie
in einem Chroot-Gefaengnis einzusperren.
Die Funktionen
Das Chroot-Paket beinhaltet keine weiteren externen Komponenten.
Die Voraussetzungen
Dieses Paket benoetigt keine weiteren Pakete um funktionieren zu
koennen.
Die Installation
Das Chroot-Paket wird ueber das Setup-Menue installiert. Wird eine
aeltere 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 benoetigten Programme
gestartet.
Das Menue im Setup-Programm
Das Menue im Setup-Programm ist wie folgt aufgebaut:
* ChangeRoot administration
+ View documentation: Anzeigen der Dokumentation
+ Edit configuration: Bearbeiten der Konfiguration
+ Advanced configuration file handling: Konfigurationen
verwalten
+ Return: Untermenue verlassen
Die Menuepunkte duerften selbsterklaerend sein, da sie keinerlei
weitere Eingaben erwarten. Deshalb wird auf deren Funktion nicht weiter
eingegangen.
Die Aenderung der Konfiguration
Die Konfiguration kann ueber den Menuepunkt 'Edit configuration'
geaendert werden. Standardmaessig wird der Editor aufgerufen, der in
der Environment-Konfiguration ueber die Variable 'EDITOR' festgelegt
wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die
Konfiguration aktiviert werden soll. Wird dies bestaetigt, werden ueber
ein Skript die Anpassungen umgehend wirksam gemacht.
Die Konfigurationsdatei
In der Konfigurationsdatei, die ueber das Menue zugaenglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will findet
sie unter /etc/config.d/chroot.
Die Parameter
START_CHROOT
Fuer die Aktivierung des Chroot-Paketes muss diese Variable
lediglich auf den Wert 'yes' gestellt werden. Die Einstellung
'no' deaktiviert das Chroot-Paket.
Gueltige Werte: yes, no
Standardeinstellung: START_CHROOT='no'
CHROOT_DEFAULT_JAILPATH
Ueber diesen Parameter wird der Verzeichnispfad fuer ein
Chroot-Gefaengnis festgelegt.
Gueltige Werte: absoluter Pfadname
Standardeinstellung: CHROOT_DEFAULT_JAILPATH='/home/jail'
CHROOT_DEFAULT_ENABLE_SSH_APPS
Ueber diesen Parameter wird festgelegt ob die SSH-Programme
standardmaessig in das Chroot-Gefaengnis kopiert werden sollen.
Gueltige Werte: yes, no
Standardeinstellung: CHROOT_DEFAULT_ENABLE_SSH_APPS='no'
CHROOT_DEFAULT_ENABLE_RSYNC_APPS
Ueber diesen Parameter wird festgelegt ob die RSYNC-Programme
standardmaessig in das Chroot-Gefaengnis kopiert werden sollen.
Gueltige Werte: yes, no
Standardeinstellung: CHROOT_DEFAULT_ENABLE_RSYNC_APPS='no'
CHROOT_N
Ueber diesen Parameter wird die Anzahl der Anwender angegeben,
die in einem Chroot-Gefaengnis eingesperrt werden sollen.
Gueltige Werte: Zahl
Standardeinstellung: CHROOT_N='0'
CHROOT_x_ACTIVE
Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird der
zugehoerige Datensatz aktiviert, 'no' deaktiviert ihn.
Gueltige Werte: yes oder no
Beispiel: CHROOT_1_ACTIVE='no'
CHROOT_x_COMMENT
Ueber diesen Parameter kann ein Kommentar, welcher die
Identifizierung des Chroot-Accounts erleichtern soll, angegeben
werden.
Gueltige Werte: beliebiger Text
Beispiel: CHROOT_1_COMMENT='Dies ist mein Server'
CHROOT_x_USER
Ueber diesen Parameter legt man den Namen des Systemanwender
fest, welcher in einem Chroot-Verzeichnis eingesperrt werden
soll.
Gueltige Werte: Username
Beispiel: CHROOT_1_USER='frank'
CHROOT_x_JAILPATH
Ueber diesen Parameter kann ein individueller Verzeichnispfad
fuer ein Chroot-Gefaengnis festgelegt werden. Wird der Parameter
nicht gesetzt, so wird das ueber den Parameter
[1]CHROOT_DEFAULT_JAILPATH definierte Verzeichnis verwendet.
Gueltige Werte: absoluter Pfadname
Standardeinstellung: CHROOT_1_JAILPATH=''
CHROOT_x_LOCK_USER
Ueber diesen Parameter wird festgelegt, ob ein Anwender in dem
Chroot-Gefaengnis eingesperrt werden soll oder nicht. Wird der
Parameter auf den Wert `yes' gesetzt, so wird das Home-Verzeichnis
des Anwenders entsprechend angepasst, bei dem Wert `no' wird
dieses nicht veraendert.
Gueltige Werte: yes, no
Standardeinstellung: CHROOT_1_LOCK_USER='yes'
CHROOT_x_ENABLE_SSH_APPS (Optional)
Optionaler Parameter: Ueber diesen Parameter kann individuell
festgelegt werden ob die SSH-Programme in das Chroot-Gefaengnis
kopiert werden sollen.
Gueltige Werte: yes, no
Standardeinstellung: CHROOT_1_ENABLE_SSH_APPS='no'
CHROOT_x_ENABLE_RSYNC_APPS (Optional)
Optionaler Parameter: Ueber diesen Parameter kann individuell
festgelegt werden ob die RSYNC-Programme in das
Chroot-Gefaengnis kopiert werden sollen.
Gueltige Werte: yes, no
Standardeinstellung: CHROOT_1_ENABLE_RSYNC_APPS='no'
Verschiedenes
Individuelle Dateilisten einrichten
Mittels zwei verschiedener Dateien ist es moeglich individuelle
Dateien automatisiert in eine Chroot-Umgebung kopieren zu
lassen. Die beiden Dateien heissen 'custom-default-filelist.txt'
und 'custom--filelist.txt' und muessen auf eisfair-1
im Verzeichnis '/var/chroot/' und auf eisfair-2 im Verzeichnis
'/data/packages/chroot' abgelegt werden.
Die erste Datei wird generell bei jeder Chroot-Umgebung gelesen,
die zweite Datei kann zur individuellen Konfiguration fuer
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
natuerlich allen Anwendern zur Verfuegung gestellt werden.
Es ist zu beachten, dass die Dateien dem Anwender und der Gruppe
'root' gehoeren muessen und dass nur Zugriffsrechte fuer den
Anwender 'root', z.B. 0600', eingerichtet wurden damit diese
auch gelesen werden.
In den Dateilisten muessen die zu kopierenden Dateien
zeilenweise, mit absoluter Pfadangabe aufgefuehrt werden.
Notwendige Konfiguration des Inet-Paketes
Falls man bis dato noch keinen SSH-Zugriff fuer die gewuenschten
Anwender auf den Server bzw. die Chroot-Umgebung eingerichtet
hat, dann muessen folgende Anpassungen an der Inet-Konfiguration
vorgenommen werden. Wenn man bereits erfolgreich einen
SSH-Zugriff mittels Kennwort- oder SSH-Key-Authentifizierung
eingerichtet hat, so kann man diesen Punkt beruhigt ignorieren.
+ 1. Ueber 'Setup - User administration - Add user to additional
group' weisst man den entsprechenden Anwendern die
zusaetzliche Gruppe 'chroot' hinzu.
+ 2. Anschliessend werden ueber 'Setup - Service administration
- Inet Service - Edit configuration' noch die entsprechenden
Anwender konfiguriert und die Chroot-Gruppe hinzugefuegt.
Beispiel:
SSH_ALLOW_USER_N='1'
SSH_ALLOW_USER_1='frank'
SSH_ALLOW_GROUP_N='1'
SSH_ALLOW_GROUP_1='chroot'
__________________________________________________________________
Juergen Edner 2015-05-17