Provided by: schroot_1.6.10-4ubuntu0.1_amd64 bug

BEZEICHNUNG

       schroot.conf - Chroot-Definitionsdatei für Schroot

BESCHREIBUNG

       schroot.conf  ist  eine  einfache  UTF-8-Textdatei,  die  die  zur  Verwendung mit Schroot
       verfügbaren Chroots beschreibt.

       Ein »#« (»hash«)-Zeichen am Zeilenanfang leitet einen Kommentar oder  irgendeinen  anderen
       Text ein. Alle Texte rechts von »#« werden als Kommentar angesehen.

       Das Konfigurationsformat hat einen INI-Stil, der durch Abschnittsnamen in eckigen Klammern
       in Gruppen aus Schlüssel-Wert-Paaren unterteilt wird.

   Allgemeine Optionen
       Eine Chroot ist als eine Gruppe von Schlüssel-Wert-Paaren definiert, die mit  einem  Namen
       in  eckigen  Klammern  in  einer  eigenen  Zeile  beginnen. Die Datei kann mehrere Gruppen
       enthalten, die daher mehrere Chroots definieren.

       Eine Chroot-Definition beginnt mit dem Namen der Chroot in eckigen Klammern. Zum Beispiel,

              [sid]

       Der Name ist Gegenstand bestimmter Namensbeschränkungen. Weitere Einzelheiten  finden  Sie
       im nachfolgenden Abschnitt »Chroot-Namem«.

       Diesem folgen dann mehrere Schlüssel-Wert-Paare, einer je Zeile:

       type=Typ
              der  Typ  der  Chroot. Gültige Typen sind »plain«, »directory«, »file«, »loopback«,
              »block-device«, »btrfs-snapshot« und  »lvm-snapshot«.  Falls  dies  leer  ist  oder
              weggelassen  wurde, ist der Standardtyp »plain«. Beachten Sie, dass »plain«-Chroots
              keine Einrichtungsskripte ausführen und Dateisysteme einhängen;  für  den  normalen
              Gebrauch  wird  »directory«  empfohlen  (siehe  »Einfache  und Verzeichnis-Chroots«
              unterhalb).

       description=Beschreibung
              eine  kurze  Beschreibung  der  Chroot.  Diese  könnte  in  verschiedene   Sprachen
              lokalisiert sein; siehe den nachfolgenden Abschnitt »Lokalisierung«.

       priority=Zahl
              setzt  die  Priorität einer Chroot. Zahl ist eine positive Ganzzahl, die angibt, ob
              eine Distribution älter als eine andere ist. »oldstable«  und  »oldstable-security«
              könnten  zum  Beispiel  »0«  sein, während »stable« und »stable-security« »1« sind,
              »testing« »2« und »unstable« »3«. Die Werte sind nicht wichtig aber der Unterschied
              zwischen  ihnen  ist  es.  Diese  Option  ist missbilligt und wird nicht weiter von
              Schroot benutzt, es ist aber immer noch erlaubt, sie  zu  verwenden;  sie  wird  in
              einer zukünftigen Veröffentlichung hinfällig und entfernt.

       message-verbosity=Detailgrad
              setzt  den Detailgrad der Meldungen, die Schroot bei der Einrichtung, dem Ausführen
              von Befehlen und dem Aufräumen  der  Chroot  ausgibt.  Gültige  Einstellungen  sind
              »quiet«  (unterdrückt  die  meisten Meldungen, »normal« (die Vorgabe) und »verbose«
              (zeigt alle Meldungen an). Diese Einstellung kann durch die  Optionen  --quiet  und
              --verbose außer Kraft gesetzt werden.

       users=Benutzer1,Benutzer2,…
              eine  durch  Kommas  getrennte  Liste  von  Benutzern, denen Zugriff auf die Chroot
              gestattet ist. Falls sie leer ist oder weggelassen wird, wird keinen Benutzern  der
              Zugriff  erlaubt  (es  sei  denn, die Gruppe, zu dem sie gehören wurde ebenfalls in
              groups angegeben).

       groups=Gruppe1,Gruppe2,…
              eine durch Kommas getrennte  Liste  von  Gruppen,  denen  Zugriff  auf  die  Chroot
              gestattet  ist.  Falls  sie  leer ist oder weggelassen wird, wird keiner Gruppe der
              Zugriff erlaubt.

       root-users=Benutzer1,Benutzer2,…
              eine durch Kommas getrennte Liste von Benutzern, denen ohne  Passwort  Root-Zugriff
              auf  die Chroot gewährt wird. Falls sie leer ist oder weggelassen wird, wird keinen
              Benutzern der Zugriff ohne Passwort erlaubt  (falls  aber  die  Benutzer  oder  die
              Gruppen,  zu  denen sie gehören, in users beziehungsweise groups stehen, können sie
              dennoch  Zugriff  ohne  Passwort  erlangen).  Siehe  den  nachfolgenden   Abschnitt
              »Sicherheit«.

       root-groups=Gruppe1,Gruppe2,…
              eine durch Kommas getrennte Liste von Gruppen, denen ohne Passwort Root-Zugriff auf
              die Chroot gewährt wird. Falls sie leer ist  oder  weggelassen  wird,  wird  keinen
              Benutzern  der  Zugriff  ohne  Passwort  erlaubt  (falls aber die Benutzer oder die
              Gruppen, zu denen sie gehören, in users beziehungsweise  groups  sind,  können  sie
              dennoch   Zugriff  ohne  Passwort  erlangen).  Siehe  den  nachfolgenden  Abschnitt
              »Sicherheit«.

       aliases=Alias1,Alias2,…
              eine durch Kommas getrennte  Liste  von  Aliassen  (alternative  Namen)  für  diese
              Chroot.  Eine  Chroot  mit  Namen  »sid«  könnte der Einfachheit halber einen Alias
              »unstable« haben, Aliasse  unterliegen  den  selben  Namensbeschränkungen  wie  der
              Chroot-Name selbst.

       profile=Verzeichnis

       script-config=Dateiname
              Das  Verhalten  des Chroot-Einrichtungsskripts könnte auf Chroot-Basis durch Setzen
              eines  speziellen  Konfigurationsprofils  angepasst  werden.  Das  Verzeichnis  ist
              relativ  zu  /etc/schroot.  Die  Vorgabe  ist  »default«.  Die  Dateien  in  diesem
              Verzeichnis  werden  von  den  Einrichtungsskripten  eingelesen.  Daher  kann   ihr
              Verhalten durch die Auswahl eines geeigneten Profils angepasst werden. Alternativen
              sind   »minimal«   (minimale   Konfiguration),   »desktop«   zum   Ausführen    von
              Arbeitsplatzanwendungen in der Chroot und um weitere Funktionalität des Wirtssystem
              in der Chroot zur Verfügung zu stellen) und »sbuild« (um die Chroot zum  Bauen  von
              Debian-Paketen   zu   benutzen).   Andere   Pakete   können   zusätzliche   Profile
              bereitstellen.  Die  Standardwerte  der  Schlüssel  setup.config,  setup.copyfiles,
              setup.fstab und setup.nssdatabases basieren auf der Einstellung profile.

              Beachten  Sie,  dass  der  Schlüssel  profile  den  älteren Schlüssel script-config
              ersetzt. Der Schlüssel script-config ist  exakt  derselbe  wie  profile,  hat  aber
              »/config« daran angehängt. Der Standarddateiname ist »default/config«. Jeder dieser
              Schlüssel kann benutzt werden. Falls beide vorhanden sind, wird  script-config  den
              Vorrang  erhalten (profile wird aufgehoben). script-config ist missbilligt und wird
              in  einer  zukünftigen  Veröffentlichung  entfernt.  Beachten  Sie,  dass   profile
              äquivalent  zu script-config ist, falls die Datei, die von script-config eingelesen
              wird,  nur  die  von  Schroot  bereitgestellten  Standardvariablen  enthält.  Falls
              irgendwelche  zusätzlichen  Variablen  oder  Shell-Skript-Codeschnipsel hinzugefügt
              wurden, setzen Sie bitte setup.config, wodurch das Einlesen dieser Datei  weiterhin
              ermöglicht  wird. Es wird empfohlen, die Verwendung der eingelesenen Datei, wo dies
              möglich ist, durch zusätzliche Schlüssel in der »schroot.conf« zu ersetzen, es wird
              jedoch   weiterhin  möglich  sein,  eine  zusätzliche  Konfigurationsdatei  mittels
              setup.config einzulesen.

              Arbeitsplatzbenutzer sollten  daran  denken,  dass  die  Fstab-Datei  desktop/fstab
              bearbeitet werden muss, falls Sie Gdm3 verwenden; bitte lesen Sie die Kommentare in
              dieser   Datei,   um   weitere   Anweisungen    zu    erhalten.    Der    Schlüssel
              preserve-environment  sollte  außerdem  auf  »true«  gesetzt  werden,  so  dass die
              Umgebung innerhalb der Chroot aufbewahrt wird.

              Falls keines  der  oberhalb  bereitgestellten  Konfigurationsprofile  Ihren  Bedarf
              deckt,  können  sie  konfiguriert werden, um sie weiter anzupassen und/oder kopiert
              und als Schablone für ganz neue Profile verwendet werden.

              Beachten Sie, dass die unterschiedlichen Profile unterschiedliche Konsequenzen  für
              die  Sicherheit  haben;  weitere Einzelheiten finden Sie im nachfolgenden Abschnitt
              »Sicherheit«.

       setup.config=Dateiname
              Dieser Schlüssel gibt eine Datei an, die die Einrichtungsskripte einlesen, wenn sie
              ausgeführt  werden.  Dies  übernimmt  den  durch  script-config  gesetzten Wert als
              Standardeinstellung.  Die  Datei  ist  ein  Bourne-Shell-Skript  und   kann   daher
              zusätzlich   zu   den  einfachen  Variablenzuweisungen  jeden  gültigen  Shell-Code
              enthalten. Dies wird zum Beispiel das  Anpassen  des  Verhaltens  entsprechend  des
              speziellen  Chroot-Typs  oder Namens ermöglichen. Beachten Sie, dass das Skript für
              jeden einzelnen Skriptaufruf eingelesen wird und deshalb idempotent sein muss.

              Alle    Standardeinstellungen    in    dieser    Datei    können    nun     mittels
              Konfigurationsschlüsseln  in schroot.conf, wie nachfolgend ausführlich beschrieben,
              gesetzt werden. Existierende Konfiguration sollte so geändert  werden,  dass  diese
              Schlüssel  anstelle dieser Datei Verwendung finden. Weitere Einzelheiten finden Sie
              in schroot-script-config(5). Dieser Typ von  Einrichtungsskript-Konfigurationsdatei
              wird  nicht länger als Teil der Standardprofile bereitgestellt, wird aber weiterhin
              eingelesen, falls er vorhanden und dieser Schlüssel gesetzt ist.

       setup.copyfiles=Dateiname
              eine Datei, die eine Liste von Dateien enthält, die in die  Chroot  kopiert  werden
              (eine  Datei  pro  Zeile). Die Datei wird innerhalb der Chroot den selben absoluten
              Speicherort haben.

       setup.fstab=Dateiname
              die Datei mit der Dateisystemtabelle, die zum Einhängen von Dateisystemen innerhalb
              der  Chroot  benutzt  wird.  Das  Format  dieser  Datei  ist  identisch mit dem von
              /etc/fstab, das in fstab(5) dokumentiert wird. Der einzige  Unterschied  ist,  dass
              der  Pfad  zum  Einhängepunkt fs_dir relativ zur Chroot statt zum Wurzelverzeichnis
              ist. Beachten Sie auch, dass Einhängepunkte auf dem Wirt in  eine  kanonische  Form
              gebracht  werden,  wodurch  sichergestellt wird, dass absolute symbolische Verweise
              auf etwas innerhalb der Chroot zeigen.  Komplexe  Pfade,  die  mehrere  symbolische
              Verweise  enthalten,  könnten  jedoch falsch aufgelöst werden. Es ist nicht ratsam,
              verschachtelte symbolische Verweise als Einhängepunkte zu verwenden.

       setup.nssdatabases=Dateiname
              eine Datei, die die Systemdatenbanken aufführt, die in die Chroot  kopiert  werden.
              Die  Standarddatenbanken  sind  »passwd«,  »shadow«,  »group« und »gshadow«. Andere
              mögliche Datenbanken, die beigefügt werden  können  sind  »services«,  »protocols«,
              »networks«  und  »hosts«.  Die  Datenbanken werden mittels getent(1) kopiert. Daher
              werden alle in /etc/nsswitch.conf aufgeführten Datenbankquellen für jede  Datenbank
              benutzt.

       setup.services=Dienst1,Dienst2,…
              eine  durch  Kommas  getrennte Liste von von Diensten, die in der Chroot ausgeführt
              werden. Diese  werden  bei  Beginn  der  Sitzung  gestartet  und  bei  Sitzungsende
              gestoppt.

       command-prefix=command,Option1,Option2,…
              eine durch Kommas getrennte Liste eines Befehls und Optionen für den Befehl. Dieser
              Befehl und seine Optionen werden allen Befehlen vorangestellt,  die  innerhalb  der
              Chroot  ausgeführt  werden. Dies ist nützlich, um Befehle wie »nice«, »ionice« oder
              »eatmydata« für alle Befehle die innerhalb der Chroot  laufen,  hinzuzufügen.  Nice
              und Ionice werden die CPU und die E/A-Zeitplanung beeinflussen. Eatmydata ignoriert
              Fsync-Operationen     des     Dateisystems      und      ist      nützlich      für
              Wegwerf-Chroot-Schnappschüsse,  bei  denen Sie sich nicht um Datenverluste, aber um
              hohe Geschwindigkeit kümmern müssen.

       personality=Rolle
              setzt die Persönlichkeit  (Prozessausführungsdomänen),  die  benutzt  werden  soll.
              Diese  Option  ist  nützlich,  wenn  zum  Beispiel  eine  32-Bit-Chroot  auf  einem
              64-Bit-System verwendet wird.  Gültige  Optionen  auf  Linux  sind  »bsd«,  »hpux«,
              »irix32«,  »irix64«, »irixn32«, »iscr4«, »linux«, »linux32«, »linux_32bit«, »osf4«,
              »osr5«, »riscos«, »scorvr3«, »solaris«,  »sunos«,  »svr4«,  »uw7«,  »wysev386«  und
              »xenix«.  Der  Standardwert  ist  »linux«.  Es gibt außerdem noch die Spezialoption
              »undefined« (Persönlichkeit  nicht  gesetzt).  Für  eine  32-Bit-Chroot  auf  einem
              64-Bit-System  ist  die  erforderliche Option »linux32«. Die einzige gültige Option
              für Nicht-Linux-Systeme ist »undefined«. Der Standardwert  für  Nicht-Linux-Systeme
              ist »undefined«.

       preserve-environment=true|false
              Standardmäßig  wird die Umgebung nicht innerhalb der Chroot aufbewahrt. Stattdessen
              wird eine minimale Umgebung benutzt. Ist dies auf true gesetzt, wird  die  Umgebung
              immer  aufbewahrt. Dies ist zum Beispiel nützlich, wenn X-Anwendungen innerhalb der
              Chroot ausgeführt werden, die die Umgebung zum korrekten  Funktionieren  benötigen.
              Die  Umgebung  kann  ebenso  mittels  der  Option --preserve-environment aufbewahrt
              werden.

       shell=Shell
              Wenn eine Login-Shell ausgeführt wird, wird eine größere Zahl möglicher  Shells  in
              dieser  Reihenfolge  berücksichtigt:  der  Befehl  in  der Umgebungsvariablen SHELL
              (falls --preserve-environment  benutzt  wird  oder  preserve-environment  aktiviert
              ist),   die   Shell   des  Benutzers  in  der  Datenbank  »passwd«,  /bin/bash  und
              schlussendlich /bin/sh. Diese Einstellung setzt diese Liste außer  Kraft  und  wird
              die  angegebene  Shell verwenden. Sie kann mittels der Option --shell überschrieben
              werden.

       environment-filter=regulärer Ausdruck
              Die Umgebung, die in der Chroot gesetzt wird, wird gefiltert, um Umgebungsvariablen
              zu entfernen, die ein Sicherheitsrisiko darstellen könnten. Jede Umgebungsvariable,
              die  zum  erweiterten  regulären  POSIX-Ausdruck  passt,  wird  vor  dem  Ausführen
              irgendeines Befehls in der Chroot entfernt.

              Unter   Umständen  gefährliche  Umgebungsvariablen  werden  aus  Sicherheitsgründen
              standardmäßig für die folgenden regulären Ausdrücke entfernt: »^(BASH_ENV|CDPATH
              |ENV|HOSTALIASES|IFS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMAIN
              |NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TERMPATH)$«.

   Einfache und Verzeichnis-Chroots
       Chroots des Typs »plain« oder »directory«  sind  Verzeichnisse,  auf  die  im  Dateisystem
       zugegriffen werden kann. Diese beiden Typen sind identisch, außer dass Verzeichnis-Chroots
       im Gegensatz zu einfachen  Chroots  Einrichtungsskripte  ausführen  können.  Infolgedessen
       werden  Dateisysteme  wie  /proc  nicht  in  einfachen  Chroots  eingehängt;  es  liegt im
       Verantwortungsbereich des Systemadministrators, solche Chroots von Hand zu  konfigurieren,
       während   Verzeichnis-Chroots   automatisch   konfiguriert   werden.   Zusätzlich   setzen
       Verzeichnis-Chroots  die  Optionen  der  dateisystemvereinenden  Chroots  um  (siehe   die
       nachfolgenden »Optionen der dateisystemvereinenden Chroot«).

       Diese Chroot-Typen haben eine zusätzliche (verbindliche) Konfigurationsoption:

       directory=Verzeichnis
              das    Verzeichnis,   das   die   Chroot-Umgebung   enthält.   Dorthin   wird   das
              Wurzelverzeichnis geändert, wenn eine Login-Shell oder ein Befehl ausgeführt  wird.
              Das  Verzeichnis  muss  existieren  und  Lese- sowie Ausführungsrechte haben, damit
              Benutzer darauf zugreifen können. Beachten Sie, dass es auf Linux-Systemen mit  der
              Option  »bind«  andernorts  eingehängt  wird,  um  es  als Chroot zu verwenden. Das
              Verzeichnis  für  »plain«-Chroots  wird  mit  der  Option  --rbind   von   mount(8)
              eingehängt,  während  für  »directory«-Chroots  stattdessen --bind benutzt wird, so
              dass darunterliegende Einhängevorgänge nicht aufrecht erhalten werden (sie  sollten
              in der Datei fstab genauso wie in /etc/fstab des Rechners gesetzt werden).

   Datei-Chroots
       Chroots  des  Typs  »file«  sind  Dateien  des  aktuellen Dateisystems, die ein Archiv der
       Chroot-Dateien   enthalten.   Sie   setzen   die    Source-Chroot-Optionen    um    (siehe
       »Source-Chroot-Optionen«  unten).  Beachten  Sie,  dass  für  jede Chroot dieses Typs eine
       entsprechende Source-Chroot (des Typs »file«)  erstellt  wird;  dies  dient  dem  bequemen
       Zugang  zum  Quellarchiv, z.B. zu Aktualisierungszwecken. Diese zusätzlichen Optionen sind
       ebenfalls umgesetzt:

       file=Dateiname
              The file containing the archived chroot environment (mandatory). This must be a tar
              (tape  archive),  optionally compressed with gzip, bzip2, xz, lzop or lz4. The file
              extensions used to determine the type are are  .tar,  .tar.gz,  .tar.bz2,  .tar.xz,
              .tar.lzop,  .tar.lz4,  .tgz, .tbz, .txz, .tzo and .tlz4. This file must be owned by
              the root user, and not be writable by other. Note that zip archives are  no  longer
              supported;  zip  was  not  able to archive named pipes and device nodes, so was not
              suitable for archiving chroots.

       location=Pfad
              Dies ist der Pfad zur Chroot innerhalb des Archivs. Falls das Archiv  zum  Beispiel
              eine  Chroot  in  /squeeze  enthält,  würden Sie hier »/squeeze« angeben. Falls die
              Chroot  das  Einzige  ist,  was  sich  im  Archiv  befindet,   d.h.   /   ist   das
              Wurzelverzeichnis des Dateisystems für die Chroot, sollte diese Option leer bleiben
              oder ganz weggelassen werden.

   Loopback-Chroots
       Chroots des Typs »loopback« sind ein Dateisystem, das als Datei auf der  Platte  verfügbar
       ist  und  auf  das  über  ein Loopback-Mount zugegriffen wird. Die Datei wird per Loopback
       eingehängt  und  auf  Anforderung  ausgehängt.  Loopback-Chroots   setzen   die   Optionen
       einhängbare  Chroot  und  dateisystemvereinende Chroot um (siehe »Optionen für einhängbare
       Chroots« und »Optionen der dateisystemvereinenden Chroot« unten), sowie  eine  zusätzliche
       Option:

       file=Dateiname
              Dies  ist  der  Name  der  Datei,  die  das Dateisystem enthält, einschließlich des
              absoluten Pfades, zum Beispiel »/srv/chroot/sid«.

   Blockspeichergeräte-Chroots
       Chroots des Typs »block-device« sind ein Dateisystem, das  auf  einem  nicht  eingehängten
       Blockspeichergerät  verfügbar  ist.  Das  Gerät  wird auf Anforderung ein- und ausgehängt.
       Blockspeichergeräte-Chroots    setzen    die    Optionen    einhängbare     Chroot     und
       dateisystemvereinende  Chroot  um  (siehe »Optionen für einhängbare Chroots« und »Optionen
       der dateisystemvereinenden Chroot« unten), sowie eine zusätzliche Option:

       device=Gerät
              Dies ist der  Gerätename  des  Blockspeichergeräts,  einschließlich  des  absoluten
              Pfads, zum Beispiel »/dev/sda5«.

   Btrfs-Schnappschuss-Chroots
       Chroots  des  Typs  »btrfs-snapshot«  sind  aus einem existierenden Btrfs-Unterdatenträger
       erstellte Btrfs-Schnappschüsse auf einem eingehängten Btrfs-Dateisystem.  Auf  Anforderung
       wird  beim  Beginn  der Sitzung ein Schnappschuss aus diesem Unterdatenträger erstellt und
       dann eingehängt. Am Ende der Sitzung  wird  der  Schnappschuss  ausgehängt  und  gelöscht.
       Dieser    Chroot-Typ    setzt    die    Source-Chroot-Optionen   um   (siehe   nachfolgend
       »Source-Chroot-Optionen«).  Beachten  Sie,  dass  für  jede  Chroot   dieses   Typs   eine
       entsprechende  Source-Chroot (des Typs »directory«) erstellt wird; dies dient dem bequemen
       Zugriff auf den Quelldatenträger. Diese zusätzlichen Optionen sind ebenfalls eingebaut:

       btrfs-source-subvolume=Verzeichnis
              das Verzeichnis, das den Quellunterdatenträger enthält

       btrfs-snapshot-directory=Verzeichnis
              das   Verzeichnis,   in    das    die    Schnappschüsse    des    oben    genannten
              Quellunterdatenträgers gespeichert werden.

   LVM-Schnappschuss-Chroots
       Chroots  des  Typs  »lvm-snapshot« sind ein Dateisystem, das auf einem mit LVM verwalteten
       logischen Laufwerk (LV) verfügbar ist.  Ein  LV-Schnappschuss  wird  auf  Anforderung  aus
       diesem  LV  erstellt. Dann wird der Schnappschuss eingehängt. Am Ende der Sitzung wird der
       LV-Schnappschuss ausgehängt und entfernt.

       LVM-Schnappschuss-Chroots setzen  die  Source-Chroot-Optionen  um  (siehe  »Source  chroot
       options«  unten)  und  all  die  Optionen  für  »block-device«.  Beachten  Sie,  dass eine
       zugehörige Source-Chroot (des Typs »block-device«) für jede Chroot  dieses  Typs  erstellt
       wird;  dies  dient  dem  bequemen Zugriff auf das Quellgerät. Diese zusätzliche Option ist
       ebenfalls eingebaut:

       lvm-snapshot-options=Schnappschussoptionen
              Schnappschussoptionen. Dies sind zusätzliche Optionen, die an lvcreate(8) übergeben
              werden,  zum  Beispiel »-L 2g«, um einen Schnappschuss mit einer Größe von 2 GiB zu
              erstellen. Hinweis: Hier können nicht der  LV-Name  (-n),  die  Schnappschussoption
              (-s)  und  der  Originalpfadname  des  LVs angegeben werden; sie werden automatisch
              durch Schroot gesetzt.

   Benutzerdefinierte Chroots
       Chroots des Typs »custom« sind ein spezieller Chroot-Typ,  der  für  die  Umsetzung  neuer
       Chroot-Typen  benutzt wird, der nicht durch eine der obigen Chroot-Typen unterstützt wird.
       Dies kann nützlich sein, um einen neuen Chroot-Typ umzusetzen und zu  testen,  ohne  dabei
       irgendwelchen   C++-Code   schreiben   zu   müssen.   Sie   müssen   jedoch   Ihr  eigenes
       Einrichtungsskript verfassen, das die Einrichtungsarbeit übernimmt, da  dieser  Chroot-Typ
       von  allein sehr wenig tut. Sie müssen Ihrer Chroot-Definition außerdem benutzerdefinierte
       Schlüssel für die Verwendung im Einrichtungsskript hinzufügen; anders  als  für  die  oben
       genannten  Chroot-Typen wird keine Überprüfung der Optionen stattfinden, so lange Sie dies
       nicht selbst in Ihrem Einrichtungsskript erledigen. Folgende  zusätzlichen  Optionen  sind
       ebenfalls eingebaut:

       custom-session-cloneable=true|false
              stellt   ein,   ob  Sitzungen  dieser  Chroot  geklont  werden  können  oder  nicht
              (standardmäßig aktiviert).

       custom-session-purgeable=true|false
              stellt  ein,  ob  Sitzungen  dieser  Chroot  geklont  werden  können   oder   nicht
              (standardmäßig deaktiviert).

       custom-source-cloneable=true|false
              stellt  ein,  ob  mittels  dieser  Chroot Source-Chroots geklont werden können oder
              nicht (standardmäßig deaktiviert).

   Source-Chroot-Optionen
       Die Chroot-Typen »btrfs-snapshot«, »file« und  »lvm-snapshot«  setzen  Source-Chroots  um.
       Zusätzlich   setzen  Chroot-Typen  mit  eingeschalteter  Unterstützung  von  Vereinigungen
       Source-Chroots um (siehe »Optionen der dateisystemvereinenden Chroot«  unten).  Dies  sind
       Chroots,  die  vor  der  Benutzung  automatisch  eine  Kopie von sich selbst erstellen und
       normalerweise von Sitzungen verwaltet werden. Diese Chroots stellen zusätzlich eine Chroot
       im   Namensraum   source:   bereit,  um  bequemen  Zugriff  auf  die  Originaldaten  (kein
       Schnappschuss) zu ermöglichen und bei der Verwaltung der Chroot zu helfen. D.h., für  eine
       Chroot   namens  wheezy  (chroot:wheezy)  wird  eine  entsprechende  Chroot  source:wheezy
       erstellt. Um mit älteren Versionen  von  Schroot,  die  keine  Namensräume  unterstützten,
       kompatibel  zu  bleiben,  wird  zusätzlich  eine  Chroot  mit  einer  an  den Chroot-Namen
       angehängten -source-Erweiterung erstellt  (d.h.  wheezy-source  im  vorherigen  Beispiel).
       Beachten  Sie,  dass  diese Kompatibilitätsnamen in Schroot 1.5.0 entfernt werden, so dass
       die Verwendung des source:-Namensraums der Form mit der  -source-Endung  vorgezogen  wird.
       Weitere Einzelheiten finden Sie unter schroot(1).

       Diese Chroot stellen die folgenden zusätzlichen Optionen bereit:

       source-clone=true|false
              stellt  ein,  ob  die Source-Chroot für diese Chroot automatisch geklont (erstellt)
              werden soll. Vorgabe ist true zum automatischen Klonen, aber, falls gewünscht, kann
              dies  durch  Setzen  auf  false  deaktiviert werden. Falls es deaktiviert ist, kann
              nicht auf die Chroot zugegriffen werden.

       source-users=Benutzer1,Benutzer2,…
              eine durch Kommas  getrennte  Liste  von  Benutzern,  denen  der  Zugriff  auf  die
              Source-Chroot  gestattet  ist.  Falls  sie leer ist oder weggelassen wird, wird der
              Zugriff keinen Benutzern gestattet. Dies wird die Option users in der Source-Chroot
              werden.

       source-groups=Gruppe1,Gruppe2,…
              eine  durch  Kommas  getrennte  Liste  von  Gruppen,  denen  der  Zugriff  auf  die
              Source-Chroot gestattet ist. Falls sie leer ist oder  weggelassen  wird,  wird  der
              Zugriff   keinen   Benutzern   gestattet.  Dies  wird  die  Option  groups  in  der
              Source-Chroot werden.

       source-root-users=Benutzer1,Benutzer2,…
              eine durch Kommas getrennte Liste von Benutzern, denen  der  Root-Zugriff  auf  die
              Source-Chroot  ohne  Passwort  gestattet  ist.  Falls sie leer ist oder weggelassen
              wird, wird der Root-Zugriff keinen Benutzern ohne  Passwort  gestattet  (falls  ein
              Benutzer  aber  in  users steht, kann er mit einem Passwort Zugriff erlangen). Dies
              wird die Option root-users in der Source-Chroot werden. Lesen Sie den nachfolgenden
              Abschnitt »Sicherheit«.

       source-root-groups=Gruppe1,Gruppe2,…
              eine  durch  Kommas  getrennte  Liste  von  Gruppen, denen der Root-Zugriff auf die
              Source-Chroot ohne Passwort gestattet ist. Falls  sie  leer  ist  oder  weggelassen
              wird,  wird  der  Root-Zugriff  keinen Benutzern ohne Passwort gestattet (falls die
              Gruppe eines Benutzers aber in groups steht, kann er  mit  einem  Passwort  Zugriff
              erlangen).  Dies wird die Option root-groups in der Source-Chroot werden. Lesen Sie
              dazu den nachfolgenden Abschnitt »Sicherheit«.

   Optionen für einhängbare Chroots
       Die Chroot-Typen »block-device«, »loopback« und »lvm-snapshot« setzen  das  Einhängen  von
       Geräten um. Es handelt sich dabei um Chroots, die das Einhängen eines Geräts erfordern, um
       auf die Chroot zugreifen zu können.  Diese  Chroots  stellen  die  folgenden  zusätzlichen
       Optionen bereit:

       mount-options=Optionen
              Einhängeoptionen für das Blockspeichergerät. Dies sind zusätzliche Optionen, die an
              mount(8) übergeben werden, zum Beispiel »-o atime,sync,user_xattr«.

       location=Pfad
              Dies ist der Pfad zur Chroot innerhalb des Dateisystems auf dem  Gerät.  Falls  das
              Dateisystem  zum  Beispiel  eine  Chroot  in  /chroot/sid  enthält, würden Sie hier
              »/chroot/sid« angeben.  Falls  die  Chroot  das  Einzige  ist,  was  sich  auf  dem
              Dateisystem  befindet,  d.h.  /  das Wurzeldateisystem der Chroot ist, sollte diese
              Option leer sein oder ganz weggelassen werden.

   Optionen der dateisystemvereinenden Chroot
       Die Chroot-Typen »block-device«, »directory« und  »loopback«  ermöglichen  beim  Erstellen
       einer  Sitzung  die  Benutzung von vereinten Dateisystemen, um das Originaldateisystem mit
       einem separaten beschreibbaren Dateisystem zu überlagern. Das Originaldateisystem hat  nur
       Lesezugriff  mit  einigen  Änderungen,  die im darüberliegenden beschreibbaren Verzeichnis
       gemacht wurden und das Originaldateisystem unverändert lassen. Eine Union erlaubt  mehrere
       Sitzungen,  um  simultan  auf  eine  einzelne  Chroot  zuzugreifen  und  Änderungen  daran
       vorzunehmen, während die Änderungen für jede Sitzung  privat  gehalten  werden.  Um  diese
       Funktionalität  zu  aktivieren,  setzen Sie union-type auf irgendeinen unterstützten Wert.
       Falls  dies  aktiviert  ist,  wird  die  Chroot  außerdem  eine  Source-Chroot  sein,  die
       zusätzliche  Optionen  bereitstellt  (siehe »Source-Chroot-Optionen«, oben). Alle Einträge
       sind optional.

       union-type=Typ
              Set  the  union  filesystem  type.  Currently  supported  filesystems  are  ‘aufs’,
              ‘overlayfs’,  ‘overlay’  (as  of  Linux 4.0+) and ‘unionfs’. The default is ‘none’,
              which disables this feature.

       union-mount-options=Optionen
              Einhängeoptionen des vereinten Dateisystems (Konfiguration  des  Zweigs),  die  zum
              Einhängen  des vereinten Dateisystems mit union-type angegeben werden. Dies ersetzt
              die vollständige Zeichenkette »-o«  zum  Einhängen  und  ermöglicht  das  Erstellen
              komplexer  vereinter  Dateisysteme.  Beachten  Sie,  dass  »aufs«,  »overlayfs« und
              »unionfs«  jeweils  verschiedene  Einhängeoptionen   unterstützen.   Hinweis:   Die
              Variablen                  »${CHROOT_UNION_OVERLAY_DIRECTORY}«                  und
              »${CHROOT_UNION_UNDERLAY_DIRECTORY}«   können   benutzt   werden,   um   auf    das
              darüberliegende   beschreibbare   Sitzungsverzeichnis   und   das  darunterliegende
              Verzeichnis mit  Lesezugriff  Bezug  zu  nehmen,  die  zum  Vereinen  dienen.  Eine
              vollständige Variablenliste finden Sie unter schroot-setup(5).

       union-overlay-directory=Verzeichnis
              gibt   das   Verzeichnis   an,   in   dem   die   beschreibbaren   darüberliegenden
              Sitzungsverzeichnisse         erstellt         werden.         Vorgabe          ist
              »/var/lib/schroot/union/overlay«.

       union-underlay-directory=Verzeichnis
              gibt das Verzeichnis an, in dem die darunterliegenden Verzeichnisse mit Lesezugriff
              erstellt werden. Vorgabe ist »/var/lib/schroot/union/underlay«.

   Anpassung
       Zusätzlich zu den oben aufgeführten Schlüsseln ist es möglich benutzerdefinierte Schlüssel
       hinzuzufügen.  Diese  Schlüssel  werden  benutzt,  um  dem  Einrichtungsskript zusätzliche
       Umgebungsvariablen hinzuzufügen, wenn Einrichtungsskripte ausgeführt werden.  Die  einzige
       Einschränkung   ist,   dass   der  Schlüsselname  nur  aus  alphanumerischen  Zeichen  und
       Bindestrichen bestehen darf, mit einem Buchstaben  beginnen  und  mindestens  einen  Punkt
       enthalten     muss.     Das     heißt,    dass    er    zu    dem    regulären    Ausdruck
       »^([a-z][a-z0-9]*\.)+[a-z][a-z0-9-]*$« passt.

       Zum Beispiel:
              debian.apt-update=true
              debian.distribution=unstable

       würde die folgende Umgebung setzen:
              DEBIAN_APT_UPDATE=true
              DEBIAN_DISTRIBUTION=unstable

       Beachten Sie, dass es ein Fehler ist, unterschiedliche Schlüsselnamen  zu  verwenden,  die
       die selbe Umgebungsvariable durch Mixen von Punkten und Bindestrichen setzen würden.

       Benutzerdefinierte  Konfigurationsschlüssel  können  außerdem zur Laufzeit unter Benutzung
       der Option --option geändert werden. Aus Sicherheitsgründen können jedoch nur  ausgewählte
       Schlüssel   geändert  werden.  Diese  Schlüssel  werden  mittels  der  folgenden  Optionen
       angegeben:

       user-modifiable-keys=Schlüssel1,Schlüssel2,…
              setzt die Schlüssel, die Benutzer unter Benutzung von --option ändern können.

       root-modifiable-keys=Schlüssel1,Schlüssel2,… setzt die Schlüssel, die der
              Root-Benutzer mittels --option ändern kann. Beachten Sie,  dass  der  Root-Benutzer
              die   in   user-modifiable-keys   angegebenen  Schlüssel  zusätzlich  zu  den  hier
              angegebenen verwenden kann.

   Lokalisierung
       einige Schlüssel können in mehrere Sprachen lokalisiert sein. Dies wird  durch  Hinzufügen
       des Local-Namens in eckigen Klammern nach dem Schlüsselnamen erreicht, zum Beispiel:
              description[en_GB]=British English translation

       Dies wird den Schlüssel description für die Locale en_GB lokalisieren.
              description[fr]=Traduction française

       Dies wird den Schlüssel description für alle französischen Locales lokalisieren.

CHROOT-NAMEN

       A  number  of  characters  or  words  are  not permitted in a chroot name, session name or
       configuration filename. The name must begin with a lowercase or an uppercase letter, or  a
       digit.  The  remaining  characters  may  additionally  be  dash  (‘-’),  period  (‘.’), or
       underscore (‘_’).

       The rationale for these restrictions is as follows:

       Generic
              Unfortunately,  not  all  the  places  that  deal  with  chroot  names  can  handle
              non-printable  and  other characters properly, and it's hard to update all of them.
              This is mostly about the various shell scripts where it's  also  unwise  to  assume
              authors always create safe code.

       »dpkg-old«
       »dpkg-dist«
       »dpkg-new«
       »dpkg-tmp«
              Diese  Namen  erscheinen  möglicherweise  nicht  am  Ende  eines  Namens. Dies sind
              gesicherte Kopien von Conffiles, die von der Paketverwaltung Dpkg benutzt und daher
              ignoriert werden.

SICHERHEIT

   Nicht vertrauenswürdige Benutzer
       Beachten  Sie,  dass  es  ein  ernstes  Sicherheitsrisiko  ist,  nicht  vertrauenswürdigen
       Benutzern Root-Zugriff zu  gewähren!  Obwohl  der  nicht  vertrauenswürdige  Benutzer  nur
       Root-Zugriff  innerhalb  der  Chroot hat, gibt es in der Praxis viele offensichtliche Wege
       aus der Chroot auszubrechen und Dienste auf dem Wirtsystem zu zerstören.  Wie  immer  wird
       dies auf Vertrauen hinauslaufen.

       Geben  Sie  keinen  Benutzern  Root-Zugriff,  denen  Sie  nicht  trauen  würden,  wenn sie
       Root-Zugriff auf das Wirtsystem hätten.

   Profile
       Abhängig davon, welche Profile Sie mit der Option script-config konfiguriert haben, werden
       unterschiedliche   Dateisysteme   innerhalb   der   Chroot   eingehängt   und   es  werden
       unterschiedliche Dateien vom Wirtsystem in die Chroot kopiert. Einige Profile werden  /dev
       vom  Wirtsystem  einhängen, andere nicht. Einige Profile werden außerdem zusätzliche Teile
       des Wirtdateisystems mit der Option  »bind«  einhängen,  um  die  Benutzung  verschiedener
       Funktionen  zu  ermöglichen,  einschließlich  des  Home-Verzeichnisses  des  Benutzers und
       bestimmter Teile von /var. Prüfen Sie die Datei fstab des Profils, um sich zu  versichern,
       was  eingehängt  wird  und  die  anderen  Profildateien,  um  zu sehen, welche Dateien und
       Systemdatenbanken in die Chroot kopiert werden. Wählen Sie ein  anderes  Profil  aus  oder
       bearbeiten  Sie  die  Dateien,  um weiter einzugrenzen, was innerhalb der Chroot verfügbar
       gemacht wird.

       Es gibt einen Kompromiss zwischen Sicherheit (die Chroot so klein wie möglich halten)  und
       Benutzerfreundlichkeit  (die  manchmal  Zugriff auf Teile des Wirtdateisystems erfordert).
       Die unterschiedlichen Profile gehen unterschiedliche Kompromisse ein und es  ist  wichtig,
       dass  Sie  beurteilen,  welchen  Kompromiss  aus Sicherheit und Benutzerfreundlichkeit Sie
       benötigen.

BEISPIEL

       # Beispielkonfiguration

       [sid]
       type=plain
       description=Debian unstable
       description[fr_FR]=Debian instable
       directory=/srv/chroot/sid
       priority=3
       users=jim
       groups=sbuild
       root-users=rleigh
       aliases=unstable,default

       [etch]
       type=block-device
       description=Debian testing (32-bit)
       priority=2
       groups=users
       #groups=sbuild-security
       aliases=testing
       device=/dev/hda_vg/etch_chroot
       mount-options=-o atime
       personality=linux32

       [sid-file]
       type=file
       description=Debian sid file-based chroot
       priority=3
       groups=sbuild
       file=/srv/chroots/sid.tar.gz

       [sid-snapshot]
       type=lvm-snapshot
       description=Debian unstable LVM snapshot
       priority=3
       groups=sbuild
       users=rleigh
       source-root-users=rleigh
       source-root-groups=admin
       device=/dev/hda_vg/sid_chroot
       mount-options=-o atime,sync,user_xattr
       lvm-snapshot-options=--size 2G

DATEIEN

   Chroot-Definitionen
       /etc/schroot/schroot.conf
              die systemweite Chroot-Definitionsdatei. Diese Datei muss dem Benutzer Root gehören
              und darf nicht durch andere beschreibbar sein.

       /etc/schroot/chroot.d
              Zusätzliche Chroot-Definitionen können unter diesem Verzeichnis in »files« abgelegt
              werden.  Sie  werden  auf  exakt  die  selbe  Weise  wie  /etc/schroot/schroot.conf
              betrachtet. Jede Datei kann eine oder mehrere Chroot-Definitionen enthalten.

   Einrichtungsskriptkonfiguration
       Das  Verzeichnis  /etc/schroot/default  enthält  die  von  Einrichtungsskripten  benutzten
       Standardeinstellungen.

       config Hauptkonfigurationsdatei, die von Einrichtungsskripten  gelesen  wird.  Das  Format
              dieser   Datei   wird   in   schroot-script-config(5)  beschrieben.  Dies  ist  der
              Standardwert für den  Schlüssel  script-config.  Beachten  Sie,  dass  dies  früher
              /etc/schroot/script-defaults  hieß.  Auf  die  folgenden  Werte  wird standardmäßig
              verwiesen:

       copyfiles
              eine Liste von Dateien, die vom Wirtsystem in die  Chroot  kopiert  wird.  Beachten
              Sie, dass diese früher /etc/schroot/copyfiles-defaults hieß.

       fstab  eine  Datei  im  Format,  das  in  fstab(5)  beschrieben wird. Sie wird benutzt, um
              Dateisysteme innerhalb der Chroot einzuhängen.  Der  Einhängeort  ist  relativ  zum
              Wurzelverzeichnis     der    Chroot.    Beachten    Sie,    dass    diese    früher
              /etc/schroot/mount-defaults hieß.

       nssdatabases
              Systemdatenbanken (wie in /etc/nsswitch.conf auf  GNU/Linux-Systemen  beschrieben),
              die  vom  Wirtsystem  in die Chroot kopiert werden. Beachten Sie, dass diese früher
              /etc/schroot/nssdatabases-defaults hieß.

AUTOR

       Roger Leigh

COPYRIGHT

       Copyright © 2005-2012 Roger Leigh <rleigh@debian.org>

       schroot ist freie Software. Sie können es unter den Bedingungen  der  GNU  General  Public
       License,  wie  von  der  Free  Software  Foundation  veröffentlicht,  weitergeben und/oder
       modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder  späteren
       Version.

SIEHE AUCH

       sbuild(1), schroot(1), schroot-script-config(5), schroot-faq(7), mount(8).