Provided by: schroot_1.6.10-6_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 Konfigurationen 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
              die Datei, die die (verbindliche) archivierte Chroot-Umgebung  enthält.  Dies  muss
              ein  Tar  (Bandarchiv)  sein,  das  wahlweise  mit  Gzip,  Bzip2, Xz, Lzop oder Lz4
              komprimiert ist. Die  Dateierweiterungen,  die  zur  Bestimmung  des  Typs  benutzt
              werden,  sind  .tar,  .tar.gz,  .tar.bz2, .tar.xz, .tar.lzop, .tar.lz4, .tgz, .tbz,
              .txz, .tzo und .tlz4. Diese Datei muss dem Benutzer Root gehören und darf nicht von
              anderen  beschreibbar sein. Beachten Sie, dass Zip-Archive nicht länger unterstützt
              werden; Zip war nicht in der Lage, benannte  Weiterleitungen  und  Geräteknoten  zu
              archivieren und daher nicht zur Archivierung von Chroots geeignet.

       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
              setzt  den  Typ  des vereinten Dateisystems. Derzeit unterstützte Dateisysteme sind
              »aufs«, »overlayfs«, »overlay« (seit Linux 4.0+) und  »unionfs«.  Die  Vorgabe  ist
              »none«, wodurch diese Funktionalität deaktiviert wird.

       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

       In einem Chroot-, Sitzungs- oder Konfigurationsdateinamen sind eine Reihe von Zeichen  und
       Wörtern  nicht  erlaubt.  Der  Name  darf  am  Anfang  keinen Punkt haben. Die Zeichen »:«
       (Doppelpunkt), »,« (Komma) und »/« (Vorwärtsschrägstrich) sind nirgendwo im Namen erlaubt.
       Der  Name  darf  außerdem  keine  führende  Tilde  (»~«)  enthalten.  Die Gründe für diese
       Einschränkungen werden nachfolgend angegeben.

       ».«    Ein führender Punkt kann benutzt werden,  um  einen  Namen  mit  darin  enthaltenem
              relativen  Pfad in Kombination mit »/« zu erstellen und dies kann das Überschreiben
              von Dateien auf dem Wirtsystem ermöglichen.  Wird  dieses  Zeichen  nicht  erlaubt,
              heißt das außerdem, dass keine versteckten Dateien erstellt werden können. Außerdem
              bedeutet es, dass einige Editor-Sicherungen automatisch  ignoriert  werden.  Punkte
              sind sonst überall im Namen erlaubt.

       »:«    Ein  Doppelpunkt  wird  als  Namensraumtrenner benutzt und ist daher nicht als Teil
              eines Chroot- oder  Sitzungsnamens  erlaubt.  LVM-Schappschussnamen  dürfen  dieses
              Zeichen aufgrund von Namensbeschränkungen durch lvcreate(8) auch nicht enthalten.

       »/«    Namen,   die   dieses  Zeichen  enthalten,  sind  keine  gültigen  Dateinamen.  Ein
              Vorwärtsschrägstrich  würde   möglicherweise   das   Erstellen   von   Dateien   in
              Unterverzeichnissen gestatten.

       »,«    Kommas  werden  benutzt,  um  Elemete  in der Liste voneinander zu trennen. Aliasse
              werden durch  Kommas  getrennt  und  können  daher  keine  Kommas  in  ihren  Namen
              enthalten.

       »~«    Dateinamen,    die   führende   Tilden   enthalten,   werden   von   Editoren   als
              Sicherungsdateien benutzt und daher ignoriert. Tilden sind sonst überall  im  Namen
              erlaubt.

       »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).