Man page - schroot.conf(5)

Packages contains this manual

Available languages:

en fr de

Manual

SCHROOT.CONF

NOM
DESCRIPTION
Options générales
Chroots « plain » et « directory »
Chroots « file »
Chroots loopback
Chroots périphérique de blocs (« block device »).
Chroots d’instantanĂ©s Btrfs
ZFS snapshot chroots
Chroots d’instantanĂ©s LVM
Chroots personnalisés
Options des chroots source
Options des chroots montables
Options de chroot d’union de systùmes de fichiers
Personnalisation
Localisation
NOMS DES CHROOTS
SÉCURITÉ
Utilisateurs non fiables
Profils
EXEMPLE
FICHIERS
Définitions des chroots
Configuration des scripts de mise en place
AUTEURS
COPYRIGHT
VOIR AUSSI
TRADUCTION

NOM

schroot.conf — fichier de dĂ©finition des chroots de schroot

DESCRIPTION

schroot.conf est un fichier texte codé en UTF-8, décrivant les chroots utilisables avec schroot.

Les commentaires sont prĂ©fixĂ©s par un caractĂšre ‘#’ (“hash”) au dĂ©but d’une ligne ou Ă  la suite de n’importe quel texte. Tout texte Ă  la droite de ‘#’ est traitĂ© comme un commentaire.

Le format de configuration est de type INI, découpé en groupes de paires clé-valeur séparés par des noms de section entre crochets.

Options générales

Un chroot est défini comme un groupe de paires clé-valeur qui débute par un nom entre crochets, seul sur une ligne. Le fichier peut contenir plusieurs groupes définissant ainsi plusieurs chroots.

La définition du chroot débute par son nom entre crochets. Par exemple,

[sid]

Le nom est sujet Ă  certaines restrictions de dĂ©nomination. Pour plus de dĂ©tails, consultez la section “ Nom de Chroot ” ci-dessous.

S’ensuivent plusieurs paires clĂ©-valeur, une par ligne :
type=
type

The type of the chroot. Valid types are ‘plain’, ‘directory’, ‘file’, ‘loopback’, ‘block-device’, ‘btrfs-snapshot’, ‘zfs-snapshot’ and ‘lvm-snapshot’. If empty or omitted, the default type is ‘plain’. Note that ‘plain’ chroots do not run setup scripts and mount filesystems; ‘directory’ is recommended for normal use (see “ Plain and directory chroots ”, below).

description= description

Une description courte du chroot. Elle peut ĂȘtre traduite en diffĂ©rentes langues ; consultez la section “ Localisation ” ci-dessous.

priority= nombre

DĂ©finir la prioritĂ© d’un chroot. nombre est un entier positif indiquant si une distribution est plus ancienne qu’une autre. Par exemple, “oldstable” et “oldstable-security” peuvent ĂȘtre ‘0’ alors que “stable” et “stable-security” sont ‘1’, “testing” est ‘2’ et “unstable” est ‘3’. Les valeurs ne sont pas importantes, mais les diffĂ©rences entre elles le sont. Cette option est dĂ©conseillĂ©e et n’est plus utilisĂ©e par schroot, mais il est encore permis de l’utiliser, elle deviendra obsolĂšte et sera retirĂ©e dans une prochaine version.

message-verbosity= verbosité

DĂ©finir la verbositĂ© des messages affichĂ©s par schroot lors de la mise en place, de l’exĂ©cution des commandes et du nettoyage du chroot. Les paramĂštres valables sont ‘quiet’ (supprime la plupart des messages), ‘normal’ (par dĂ©faut) et ‘verbose’ (affiche tous les messages). Ce paramĂštre est Ă©crasĂ© par les options --quiet et --verbose .

users= utilisateur1,utilisateur2,


Une liste sĂ©parĂ©e par des virgules des utilisateurs qui sont autorisĂ©s Ă  accĂ©der au chroot. Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  accĂ©der au chroot (sauf s’il appartient Ă  un groupe spĂ©cifiĂ© dans groups ).

groups= groupe1,groupe2,...

Une liste sĂ©parĂ©e par des virgules des groupes qui sont autorisĂ©s Ă  accĂ©der au chroot. Si vide ou omis, aucun groupe d’utilisateurs ne sera autorisĂ© Ă  accĂ©der au chroot.

root-users= utilisateur1,utilisateur2,...

Une liste sĂ©parĂ©e par des virgules des utilisateurs qui sont autorisĂ©s Ă  devenir root dans le chroot sans mot de passe . Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  devenir root sans mot de passe (mais si un utilisateur ou un groupe auquel il appartient est dans users ou groups , respectivement, il peut obtenir un accĂšs avec un mot de passe). Consultez la section “ SĂ©curitĂ© ” ci-dessous.

root-groups= groupe1,groupe2,...

Une liste sĂ©parĂ©e par des virgules des groupes qui sont autorisĂ©s Ă  devenir root dans le chroot sans mot de passe . Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  devenir root sans mot de passe (mais si un utilisateur ou un groupe auquel il appartient est dans users ou groups , respectivement, il peut obtenir un accĂšs avec un mot de passe). Consultez la section “ SĂ©curitĂ© ” ci-dessous.

aliases= alias1,alias2,...

Une liste sĂ©parĂ©e par des virgules des alias (noms alternatifs) pour ce chroot. Par exemple, un chroot, nommĂ© “sid”, peut avoir un alias ‘unstable’ pour des raisons de commoditĂ©. Les alias sont sujets aux mĂȘmes restrictions que le nom du chroot lui-mĂȘme.

profile= répertoire
script-config=
nom-de-fichier

Le comportement des scripts de mise en place des chroots peut ĂȘtre personnalisĂ© pour chaque chroot en dĂ©finissant un profil de configuration spĂ©cifique. Le nom du rĂ©pertoire est relatif Ă  /etc/schroot . Le nom par dĂ©faut est ‘default’. Les fichiers de ce rĂ©pertoire seront recherchĂ©s par les scripts de mise en place dont le comportement peut par consĂ©quent ĂȘtre personnalisĂ© en sĂ©lectionnant le profil appropriĂ©. Les alternatives sont ‘minimal’ (pour une configuration minimale), ‘desktop’ (pour exĂ©cuter des programmes graphiques dans un chroot, autorisant plus de fonctionnalitĂ©s du systĂšme hĂŽte disponible dans le chroot) et ‘sbuild’ (pour utiliser le chroot pour la construction de paquet Debian). D’autres paquets peuvent fournir des profils supplĂ©mentaires. La valeur par dĂ©faut des clĂ©s setup.config , setup.copyfiles , setup.fstab et setup.nssdatabases est dĂ©finie en fonction de la configuration de profile .

Notez que la clĂ© profile remplace l’ancienne clĂ© script-config . La clĂ© script-config est exactement la mĂȘme que profile , mais “ /config ” y est ajoutĂ©e. Le nom de fichier par dĂ©faut est ‘default/config’. Chacune de ces deux clĂ©s peuvent ĂȘtre utilisĂ©es. script-config sera prioritaire ( profile sera indĂ©fini). script-config est dĂ©conseillĂ©e et sera retirĂ©e dans une prochaine version. Notez que profile est Ă©quivalent Ă  script-config si le fichier recherchĂ© par script-config ne contient que les variables standard fournies par schroot. Si des variables supplĂ©mentaires ou des scripts shell sont ajoutĂ©s, veuillez Ă©galement dĂ©finir setup.config qui permettra Ă  ces fichiers d’ĂȘtre toujours recherchĂ©s. Il est recommandĂ© de remplacer l’utilisation de fichiers recherchĂ©s par des clĂ©s supplĂ©mentaires dans schroot.conf quand cela est possible. Il sera toujours possible de rechercher des fichiers de configuration supplĂ©mentaires en utilisant setup.config .

À noter pour les utilisateurs graphiques que le fichier fstab desktop/fstab aura besoin d’une modification si vous utilisez gdm3 ; veuillez consulter les commentaires dans ce fichier pour plus d’information. La clĂ© preserve-environment doit ĂȘtre dĂ©finie Ă  ‘true’ pour que l’environnement soit prĂ©servĂ© dans le chroot.

Si aucun des profils de configuration fournis ci-dessus ne convient Ă  vos besoins, ils peuvent ĂȘtre Ă©ditĂ©s pour les personnaliser davantage et/ou copiĂ©s et utilisĂ©s en tant que modĂšles pour de tous nouveaux profils.

Notez que les diffĂ©rents profils ont des implications de sĂ©curitĂ© diffĂ©rentes ; consultez la section “ SĂ©curitĂ© ” ci-dessous pour plus d’informations.

setup.config= nom-de-fichier

Cette clĂ© spĂ©cifie un fichier que les scripts de mise en place vont rechercher quand ils seront exĂ©cutĂ©s. La valeur par dĂ©faut est celle dĂ©finie par script-config . Le fichier est un script de type Bourne shell, et par consĂ©quent peut contenir tout code shell valable, en plus des simples affectations de variable. Cela permet, par exemple, d’adapter les comportements en fonction d’un type spĂ©cifique ou nom de chroot. Notez que le script sera chargĂ© Ă  chaque invocation des scripts de mise en place et doit ĂȘtre idempotent.

Toutes les configurations par dĂ©faut dans le fichier sont maintenant dĂ©finissables en utilisant les clĂ©s de configuration dans schroot.conf , comme dĂ©taillĂ© ci-dessous. Les configurations existantes devront ĂȘtre modifiĂ©es pour utiliser ces clĂ©s Ă  la place de ce fichier. Consultez schroot-script-config (5) pour plus de dĂ©tails. Ce type de fichier de configuration de script de mise en place n’est plus fourni dans les profils standard, mais continuera Ă  ĂȘtre recherchĂ© s’il est prĂ©sent et que cette clĂ© est dĂ©finie.

setup.copyfiles= nom-de-fichier

Un fichier contenant une liste de fichiers Ă  copier dans le chroot (un fichier par ligne). Le fichier aura le mĂȘme chemin absolu dans le chroot.

setup.fstab= nom-de-fichier

Le fichier de la table des systĂšmes de fichiers Ă  utiliser pour monter les systĂšmes de fichiers dans le chroot. Le format de ce fichier est le mĂȘme que pour /etc/fstab , documentĂ© dans fstab (5). La seule diffĂ©rence est que le chemin du point de montage fs_dir est relatif au chroot plutĂŽt qu’à la racine. Notez Ă©galement que les points de montage sont canonisĂ©s sur l’hĂŽte, ce qui permet de s’assurer que les liens symboliques absolus pointent Ă  l’intĂ©rieur du chroot. Cependant, les chemins complexes contenant des liens symboliques multiples peuvent ĂȘtre incorrectement rĂ©solus. Il est dĂ©conseillĂ© d’utiliser les liens symboliques imbriquĂ©s comme points de montage.

setup.nssdatabases= nom-de-fichier

Un fichier listant les bases de donnĂ©es du systĂšme Ă  copier dans le chroot. Les bases de donnĂ©es par dĂ©faut sont ‘passwd’, ‘shadow’, ‘group’ et ‘gshadow’. Les autres bases de donnĂ©es qui pourraient ĂȘtre ajoutĂ©es incluent ‘services’, ‘protocols’, ‘networks’ et ‘hosts’. Les bases de donnĂ©es sont copiĂ©es en utilisant getent (1) pour que toutes les sources de bases de donnĂ©es listĂ©es dans /etc/nsswitch.conf soient utilisĂ©es pour chaque base de donnĂ©es.

setup.services= service1,service2,


Une liste des services Ă  exĂ©cuter dans le chroot sĂ©parĂ©s par des virgules. Ceux-ci seront dĂ©marrĂ©s quand la session dĂ©marrera et arrĂȘtĂ©s quand la session se terminera.

command-prefix= commande,option1,option2,...

Une liste sĂ©parĂ©e par des virgules d’une commande et des options de la commande. Cette commande et ses options seront prĂ©fixĂ©es Ă  toutes les commandes exĂ©cutĂ©es dans le chroot. C’est utile pour ajouter des commandes comme nice, ionice ou eatmydata pour toutes les commandes exĂ©cutĂ©es dans le chroot. nice et ionice affecteront l’ordonnancement CPU et I/O. eatmydata ignore les opĂ©rations fsync sur le systĂšme de fichiers et est utile pour les chroots d’instantanĂ© jetable oĂč vous ne vous souciez pas des pertes de donnĂ©es, mais dĂ©sirez une grande vitesse.

personality= persona

DĂ©finir les personnalitĂ©s (domaine d’exĂ©cution des processus) Ă  utiliser. Cette option est utile par exemple lors de l’utilisation d’un chroot 32 bits sur un systĂšme 64 bits. Les options valables sous Linux sont ‘bsd’, ‘hpux’, ‘irix32’, ‘irix64’, ‘irixn32’, ‘iscr4’, ‘linux’, ‘linux32’, ‘linux_32bit’, ‘osf4’, ‘osr5’, ‘riscos’, ‘scorvr3’, ‘solaris’, ‘sunos’, ‘svr4’, ‘uw7’, ‘wysev386’ et ‘xenix’. La valeur par dĂ©faut est ‘linux’. Il y a aussi l’option spĂ©ciale ‘undefined’ (personnalitĂ© non dĂ©finie). Pour un chroot 32 bits sur un systĂšme 64 bits, ‘linux32’ est l’option requise. La seule option valable pour les systĂšmes non Linux est ‘undefined’. La valeur par dĂ©faut pour les systĂšmes non Linux est ‘undefined’.

preserve-environment= true | false

Par dĂ©faut, l’environnement ne sera pas prĂ©servĂ© Ă  l’intĂ©rieur du chroot. À la place, un environnement minimal sera utilisĂ©. DĂ©finir Ă  true pour toujours prĂ©server l’environnement. C’est utile par exemple lors de l’exĂ©cution des applications graphiques Ă  l’intĂ©rieur du chroot qui ont besoin de l’environnement pour fonctionner correctement. L’environnement peut Ă©galement ĂȘtre prĂ©servĂ© en utilisant l’option --preserve-environment .

shell= shell

Lors de l’exĂ©cution d’un interprĂ©teur de commande de connexion plusieurs interprĂ©teurs de commandes potentiels seront considĂ©rĂ©s dans cet ordre : la commande dans la variable d’environnement SHELL (si l’option --preserve-environment est utilisĂ©e ou si preserve-environment est activĂ©), l’interprĂ©teur de commandes de l’utilisateur dans la base de donnĂ©es ‘passwd’, /bin/bash et finalement /bin/sh . Ce paramĂštre Ă©crase cette liste et utilisera l’interprĂ©teur de commandes spĂ©cifiĂ©. Il peut ĂȘtre Ă©crasĂ© en utilisant l’option --shell .

environment-filter= regex

L’environnement Ă  dĂ©finir dans le chroot sera filtrĂ© dans le but d’enlever les variables d’environnement qui peuvent poser un problĂšme de sĂ©curitĂ©. Toute variable d’environnement qui correspondrait Ă  l’expression rĂ©guliĂšre POSIX Ă©tendue spĂ©cifiĂ©e sera supprimĂ©e avant l’exĂ©cution de toute commande dans le chroot.

Les variables d’environnement potentiellement dangereuses sont retirĂ©es par sĂ©curitĂ© par dĂ©faut en utilisant l’expression rĂ©guliĂšre suivante : “ˆ(BASH_ENV|CDPATH|ENV|HOSTALIASES|IFS |KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMAIN |NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS |TERMPATH)$”.

Chroots « plain » et « directory »

Les chroots de type ‘plain’ ou ‘directory’ sont des rĂ©pertoires accessibles dans le systĂšme de fichiers. Les deux types sont Ă©quivalents Ă  l’exception du fait que les chroots « directory » exĂ©cutent les scripts de mise en place tandis que les chroots « plain » non. Par consĂ©quent, les systĂšmes de fichiers comme /proc ne sont pas montĂ©s dans les chroots « plain » ; c’est la responsabilitĂ© de l’administrateur de configurer manuellement ces types de chroot alors que les chroots « directory » sont automatiquement configurĂ©s. De plus, les chroots « directory » implĂ©mentent les options des chroots union de systĂšmes de fichiers (consultez “ Options des chroots union de systĂšmes de fichiers ci-dessous).

Ces types de chroot ont une option de configuration supplémentaire (requise) :
directory=
répertoire

Le rĂ©pertoire contenant l’environnement de chroot. C’est lĂ  oĂč la racine sera dĂ©placĂ©e lors de l’exĂ©cution d’un interprĂ©teur de commande de connexion ou d’une commande. Le rĂ©pertoire doit exister et ĂȘtre accessible en lecture et exĂ©cution pour autoriser les utilisateurs Ă  y accĂ©der. Notez que sur les systĂšmes Linux il sera montĂ© autre part pour ĂȘtre utilisĂ© comme chroot ; le rĂ©pertoire pour les chroots ‘plain’ est montĂ© avec l’option --rbind pour mount (8), alors que pour les chroots ‘directory’ l’option --bind sera utilisĂ©e Ă  la place pour que les sous-montages ne soient pas conservĂ©s (ils doivent ĂȘtre dĂ©finis dans le fichier fstab comme dans le fichier /etc/fstab de l’hĂŽte).

Chroots « file »

Les chroots de type ‘file’ sont des fichiers sur le systĂšme de fichiers courant contenant une archive des fichiers du chroot. Ils implĂ©mentent les options des chroot source (consultez “ Options des chroots source ”, ci-dessous). Notez qu’un chroot source correspondant (de type ‘file’) sera créé pour chaque chroot de ce type ; c’est pour un accĂšs commode Ă  l’archive source, par exemple dans le but de mettre Ă  jour. Les options supplĂ©mentaires suivantes sont aussi implĂ©mentĂ©es :
file=
nom-de-fichier

Le fichier contenant l’environnement de chroot archivĂ© (requis). Cela doit ĂȘtre une archive tar, facultativement compressĂ©e par gzip, bzip2, xz, lzop ou lz4. Les extensions de fichier utilisĂ©es pour dĂ©terminer le type sont .tar , .tar.gz , .tar.bz2 , .tar.xz , .tar.lzop , .tar.lz4 , .tgz , .tbz , .txz , .tzo et .tlz4 . Ce fichier doit appartenir Ă  l’utilisateur root et ĂȘtre non inscriptible par les autres. Notez que les archives zip ne sont plus gĂ©rĂ©es ; zip n’était capable d’archiver ni les tubes nommĂ©s (« named pipes ») ni les nƓuds de pĂ©riphĂ©riques (« device nodes ») et n’était donc pas adĂ©quat pour archiver des chroots.

location= chemin

C’est le chemin du chroot Ă  l’ intĂ©rieur de l’archive. Par exemple, si l’archive contient un chroot dans /squeeze , vous devriez spĂ©cifier ici “/squeeze”. Si le chroot est la seule chose Ă  l’intĂ©rieur de l’archive, c’est-Ă -dire si / est la racine du systĂšme de fichiers pour le chroot, cette option doit ĂȘtre laissĂ©e vide ou omise complĂštement.

Chroots loopback

Les chroots de type ‘loopback’ sont des systĂšmes de fichiers disponibles comme des fichiers sur le disque, accessibles par un montage loopback. Le fichier sera montĂ© en loopback et dĂ©montĂ© Ă  la demande. Les chroots loopback implĂ©mentent les options de chroot montable et de chroot d’union de systĂšmes de fichiers (consultez “ Options de chroot montable ” et “ Options de chroot d’union de systĂšmes de fichiers ”, ci-dessous) et une option supplĂ©mentaire :
file=
nom-de-fichier

C’est le nom du fichier contenant le systùme de fichiers, incluant le chemin absolu. Par exemple, “/srv/chroot/sid”.

Chroots périphérique de blocs (« block device »).

Les chroots de type ‘block-device’ sont des systĂšmes de fichiers disponibles sur un pĂ©riphĂ©rique bloc non montĂ©. Le pĂ©riphĂ©rique sera montĂ© et dĂ©montĂ© Ă  la demande. Les chroots pĂ©riphĂ©riques bloc implĂ©mentent les options chroot montable et chroot d’union de systĂšmes fichiers (consultez “ Options des chroots montables ” et “ Options des chroots d’union de systĂšmes de fichiers ” ci-dessous) et une option supplĂ©mentaire :
device=
périphérique

C’est le nom du pĂ©riphĂ©rique contenant le pĂ©riphĂ©rique bloc, incluant le chemin absolu. Par exemple, “/dev/sda5”.

Chroots d’instantanĂ©s Btrfs

Les chroots de type ‘btrfs-snapshot’ sont des instantanĂ©s Btrfs créés Ă  partir d’un sous-volume Btrfs existant sur un systĂšme de fichiers Btrfs montĂ©. Un instantanĂ© sera créé Ă  partir de ce sous-volume source Ă  la demande au dĂ©marrage d’une session et l’instantanĂ© sera montĂ©. À la fin de la session, l’instantanĂ© sera dĂ©montĂ© et supprimĂ©. Ce type de chroot implĂ©mente les options de chroots source (consultez “ Options de chroots source ” ci-dessous). Notez qu’un chroot source correspondant (de type ‘directory’) sera créé pour chaque chroot de ce type ; c’est pour un accĂšs commode au volume source. Les options supplĂ©mentaires suivantes sont Ă©galement implĂ©mentĂ©es :
btrfs-source-subvolume=
répertoire

Le répertoire contenant le sous-volume source.

btrfs-snapshot-directory= répertoire

Le répertoire dans lequel les instantanés du sous-volume ci-dessus seront enregistrés.

ZFS snapshot chroots

Chroots of type ‘zfs-snapshot’ are a ZFS clone created from an existing ZFS dataset. A snapshot and clone will be created from this source subvolume on demand at the start of a session, and then the clone will be mounted. At the end of the session, the clone will be unmounted and the clone and snapshot will be deleted. This chroot type implements the source chroot options (see “ Source chroot options ”, below). Note that a corresponding source chroot (of type ‘directory’) will be created for each chroot of this type; this is for convenient access to the source volume. These additional options are also implemented:
zfs-dataset=
dataset_name

Name of the ZFS source dataset to use.

zfs-snapshot-options= snapshot_options

Snapshot options. These are additional options to pass to zfs snapshot.

Chroots d’instantanĂ©s LVM

Les chroots de type ‘lvm-snapshot’ sont des systĂšmes de fichiers disponibles sur un volume logique LVM (LV). Un instantanĂ© LV sera créé Ă  partir de ce LV Ă  la demande, ce dernier sera ensuite montĂ©. À la fin de la session, l’instantanĂ© LV sera dĂ©montĂ© et supprimĂ©.

Les chroots d’instantanĂ©s LVM implĂ©mentent les options des chroots sources (consultez “ Options des chroots source ” ci-dessous) et toutes les options des ‘pĂ©riphĂ©riques bloc’. Notez qu’un chroot source correspondant (de type ‘block-device’) sera créé pour chaque chroot de ce type ; c’est pour un accĂšs commode au pĂ©riphĂ©rique source. L’option supplĂ©mentaire suivante est Ă©galement implĂ©mentĂ©e :
lvm-snapshot-options=
options_d’instantanĂ©s

Options d’instantanĂ©s. Ce sont les options supplĂ©mentaires Ă  passer Ă  lvcreate (8). Par exemple, “-L 2g” pour crĂ©er des instantanĂ©s de 2 GiB. Note : le nom du LV ( -n ), les options des instantanĂ©s ( -s ) et le chemin original du LV ne devraient pas ĂȘtre spĂ©cifiĂ©s ici ; ils sont dĂ©finis automatiquement par schroot.

Chroots personnalisés

Les chroots de type ‘custom’ sont des types de chroot spĂ©ciaux, utilisĂ©s pour implĂ©menter de nouveaux types de chroot gĂ©rĂ©s par aucun des types de chroot ci-dessus. Cela peut ĂȘtre utile pour implĂ©menter et tester un nouveau type de chroot sans besoin d’écrire de code C++. Cependant, vous devrez Ă©crire vos propre scripts de mise en place pour effectuer la mise en place, car par dĂ©faut ce type de chroot ne fait pas grand chose. Vous aurez aussi besoin d’ajouter des clĂ©s personnalisĂ©es Ă  votre dĂ©finition de chroot pour ĂȘtre utilisĂ©es dans le script de mise en place ; Ă  la diffĂ©rence de la configuration des types de chroot ci-dessus, aucune validation des options ne sera faite Ă  moins que vous ne le fassiez vous-mĂȘme dans votre script de mise en place personnalisĂ©. Les options supplĂ©mentaires suivantes sont Ă©galement implĂ©mentĂ©es :
custom-session-cloneable=
true | false

DĂ©finir si les sessions peuvent ĂȘtre clonĂ©es en utilisant ce chroot ou non (activĂ© par dĂ©faut).

custom-session-purgeable= true | false

DĂ©finir si les sessions peuvent ĂȘtre purgĂ©es en utilisant ce chroot ou non (dĂ©sactivĂ© par dĂ©faut).

custom-source-cloneable= true | false

DĂ©finir si les chroots source peuvent ĂȘtre clonĂ©s en utilisant ce chroot ou non (dĂ©sactivĂ© par dĂ©faut).

Options des chroots source

Les chroots de type ‘btrfs-snapshot’, ‘file’ et ‘lvm-snapshot’ implĂ©mentent les chroots source. De plus, les types de chroot avec la prise en charge de l’union activĂ©e implĂ©mentent les chroots source (consultez “ Options des chroots union de systĂšmes de fichiers ” ci-dessous). Ce sont des chroots qui crĂ©ent automatiquement une copie d’eux-mĂȘmes avant utilisation et qui sont en gĂ©nĂ©ral gĂ©rĂ©s par des sessions. Ces chroots fournissent en plus un chroot supplĂ©mentaire dans l’espace de noms source: , pour permettre un accĂšs commode aux donnĂ©es d’origine (non-imagĂ©es) et aider Ă  la maintenance du chroot. Par exemple pour un chroot nommĂ© wheezy ( chroot:wheezy ), un chroot source source:wheezy correspondant sera créé. Pour des questions de compatibilitĂ© avec des versions plus anciennes de schroot qui ne prennent pas en charge les espaces de noms, un chroot de mĂȘme nom avec le suffixe -source ajoutĂ© sera créé en plus (par exemple wheezy-source en continuant l’exemple ci-dessus). Notez que ces noms pour compatibilitĂ© seront retirĂ©s dans schroot 1.5.0, et par consĂ©quent l’utilisation de l’espace de noms source: est prĂ©fĂ©rĂ© Ă  la place de l’utilisation de la forme avec le suffixe -source . Consultez schroot (1) pour plus de dĂ©tails.

Ces chroots fournissent les options supplémentaires suivantes :
source-clone=
true | false

DĂ©finir si le chroot source doit ĂȘtre clonĂ© automatiquement (créé) pour ce chroot. La valeur par dĂ©faut est true pour cloner automatiquement, mais si besoin le clonage peut ĂȘtre dĂ©sactivĂ© en la dĂ©finissant Ă  false . Si le clonage est dĂ©sactivĂ©, le chroot source sera inaccessible.

source-users= utilisateur1,utilisateur2,...

Une liste sĂ©parĂ©e par des virgules des utilisateurs qui sont autorisĂ©s Ă  accĂ©der au chroot source. Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  accĂ©der au chroot. Cela deviendra l’option users dans le chroot source.

source-groups= groupe1,groupe2,...

Une liste sĂ©parĂ©e par des virgules des groupes qui sont autorisĂ©s Ă  accĂ©der au chroot source. Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  accĂ©der au chroot. Cela deviendra l’option groups dans le chroot source.

source-root-users= utilisateur1,utilisateur2,...

Une liste sĂ©parĂ©e par des virgules des utilisateurs qui sont autorisĂ©s Ă  devenir root dans le chroot source sans mot de passe . Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  devenir root sans mot de passe (mais si un utilisateur est dans users , il peut obtenir un accĂšs avec un mot de passe). Cela deviendra l’option root-users dans le chroot source. Consultez la section “ SĂ©curitĂ© ” ci-dessous.

source-root-groups= groupe1,groupe2,...

Une liste sĂ©parĂ©e par des virgules des groupes qui sont autorisĂ©s Ă  devenir root dans le chroot source sans mot de passe . Si vide ou omis, aucun utilisateur ne sera autorisĂ© Ă  devenir root sans mot de passe (mais si un groupe auquel appartient l’utilisateur est dans groups , il peut obtenir cet accĂšs avec un mot de passe). Cela deviendra l’option root-groups dans le chroot source. Consultez la section “ SĂ©curitĂ© ” ci-dessous.

Options des chroots montables

Les chroots de type ‘block-device’, ‘loopback’ et ‘lvm-snapshot’ implĂ©mentent le montage de pĂ©riphĂ©rique. Ce sont des chroots qui ont besoin de monter un pĂ©riphĂ©rique pour pouvoir accĂ©der au chroot. Ces chroot fournissent les options supplĂ©mentaires suivantes :
mount-options=
options

Les options de montage pour le pĂ©riphĂ©rique bloc. Ce sont des options supplĂ©mentaires Ă  passer Ă  mount (8). Par exemple, “-o atime,sync,user_xattr”.

location= chemin

C’est le chemin vers le chroot Ă  l’intĂ©rieur du systĂšme de fichiers sur le pĂ©riphĂ©rique. Par exemple, si le systĂšme de fichiers contient un chroot dans /chroot/sid , vous spĂ©cifieriez ici “/chroot/sid”. Si le chroot est la seule chose sur le systĂšme de fichiers, c’est-Ă -dire que / est la racine du systĂšme de fichiers pour le chroot, cette option doit ĂȘtre laissĂ©e vide ou omise entiĂšrement.

Options de chroot d’union de systùmes de fichiers

Les chroots de type ‘block-device’, ‘directory’ et ‘loopback’ permettent, lors de la crĂ©ation d’une session utilisant les unions de systĂšmes de fichiers, de superposer sur le systĂšme de fichiers d’origine un rĂ©pertoire sĂ©parĂ© inscriptible. Le systĂšme de fichiers d’origine est en lecture seule ; toute modification faite au systĂšme de fichiers dans le dossier inscriptible superposĂ© laisse le systĂšme de fichiers d’origine inchangĂ©. Une union permet Ă  plusieurs sessions d’accĂ©der et faire des changements simultanĂ©ment sur un unique chroot, en gardant les changements de maniĂšre privĂ©e Ă  chaque session. Pour activer cette caractĂ©ristique, dĂ©finissez union-type Ă  n’importe quelle valeur gĂ©rĂ©e. DĂšs lors, le chroot sera Ă©galement un chroot source , qui fournira des options supplĂ©mentaires (consultez “ Options des chroots source ” ci-dessus). Toutes les entrĂ©es sont optionnelles.
union-type=
type

DĂ©finir le type d’union de systĂšmes de fichiers. Pour le moment les systĂšmes de fichiers pris en charge sont ‘aufs’, ‘overlayfs’, ‘overlay’ (Ă  partir de Linux 4.0+) et ‘unionfs’. La valeur par dĂ©faut est ‘none’ qui dĂ©sactive cette caractĂ©ristique.

union-mount-options= options

Options de montage des unions de systĂšmes de fichiers (configuration des branches), utilisĂ©es pour monter l’union de systĂšmes de fichiers spĂ©cifiĂ©s avec union-type . Cela remplacera la chaĂźne de caractĂšres complĂšte “-o” pour les montages et autorise la crĂ©ation d’unions de systĂšmes de fichiers complexes. Notez que ‘aufs’, ‘overlayfs’ et ‘unionfs’ prennent en charge diffĂ©rentes options de montage. Note : Il est possible d’utiliser les variables “${CHROOT_UNION_OVERLAY_DIRECTORY}” et “${CHROOT_UNION_UNDERLAY_DIRECTORY}” pour se rĂ©fĂ©rer respectivement au rĂ©pertoire de surcouche de session inscriptible et au rĂ©pertoire en lecture seule sous-jacent qui forment l’union. Consultez schroot-setup (5) pour une liste complĂšte des variables.

union-overlay-directory =répertoire

SpĂ©cifier le rĂ©pertoire oĂč les rĂ©pertoires de la surcouche inscriptible pour la session seront créés. Par dĂ©faut, il s’agit de ‘/var/lib/schroot/union/overlay’.

union-underlay-directory =répertoire

SpĂ©cifier le rĂ©pertoire oĂč les rĂ©pertoires de la sous-couche en lecture seule seront créés. Par dĂ©faut, il s’agit de ‘/var/lib/schroot/union/underlay’.

Personnalisation

En plus de la configuration des clĂ©s listĂ©es ci-dessus, il est possible d’ajouter des clĂ©s personnalisĂ©es. Ces clĂ©s seront utilisĂ©es pour ajouter des variables d’environnement supplĂ©mentaires Ă  l’environnement d’exĂ©cution des scripts de mise en place. La seule restriction est que le nom des clĂ©s doit contenir uniquement des caractĂšres alphanumĂ©riques ou des traits d’union, doit commencer par un caractĂšre de l’alphabet et contenir au moins un point. C’est-Ă -dire qu’il doit correspondre Ă  l’expression rĂ©guliĂšre Ă©tendue “ˆ([a-z][a-z0-9]*\.)+[a-z][a-z0-9-]*$”.

Par exemple :

debian.apt-update=true
debian.distribution=unstable

DĂ©finira les variables d’environnement suivantes :

DEBIAN_APT_UPDATE=true
DEBIAN_DISTRIBUTION=unstable

Notez que c’est une erreur d’utiliser diffĂ©rents noms de clĂ© dĂ©finissant la mĂȘme variable d’environnement en mĂ©langeant des points et des traits d’union.

Les clĂ©s de configuration personnalisĂ©es peuvent Ă©galement ĂȘtre modifiĂ©es lors de l’exĂ©cution en utilisant l’option --option . Cependant, pour des raisons de sĂ©curitĂ©, seules les clĂ©s sĂ©lectionnĂ©es peuvent ĂȘtre modifiĂ©es. Ces clĂ©s sont spĂ©cifiĂ©es en utilisant les options suivantes :
user-modifiable-keys=
clé1,clé2,..

DĂ©finir les clĂ©s que l’utilisateur peut modifier en utilisant --option .

root-modifiable-keys= clé1,clé2,..

Définir les clés que le superutilisateur peut modifier en utilisant --option . Notez que le superutilisateur peut utiliser les clés définies dans user-modifiable-keys en plus des clés définies ici.

Localisation

Quelques clĂ©s peuvent ĂȘtre traduites dans plusieurs langues. C’est effectuĂ© en ajoutant le nom local entre crochets aprĂšs le nom de la clĂ©. Par exemple :

description[en_GB]= Traduction anglaise britannique

Cela traduira la clé description pour la locale en_GB.

description[fr]= Traduction française

Cela traduira la clé description pour toutes les locales françaises.

NOMS DES CHROOTS

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 ’

Ces noms ne doivent pas apparaßtre à la fin du nom. Ce sont des copies de sauvegarde des fichiers de configuration utilisées par le gestionnaire de paquet dpkg, et seront ignorées.

SÉCURITÉ

Utilisateurs non fiables

Notez que donner des accĂšs root Ă  des chroots pour des utilisateurs non fiables est un sĂ©rieux problĂšme de sĂ©curitĂ© ! Bien que l’utilisateur non fiable n’aura un accĂšs root qu’aux fichiers Ă  l’intĂ©rieur du chroot, en pratique il y a plein de façons Ă©videntes de sortir du chroot et de perturber les services sur le systĂšme hĂŽte. Comme toujours, cela revient Ă  la confiance .

Ne donnez pas d’accùs root au chroot pour des utilisateurs auxquels vous ne faites pas confiance pour un accùs root sur le systùme hîte.

Profils

En fonction du profil que vous avez configurĂ© avec l’option script-config , diffĂ©rents systĂšmes de fichiers seront montĂ©s Ă  l’intĂ©rieur du chroot, et diffĂ©rents fichiers seront copiĂ©s dans le chroot Ă  partir de l’hĂŽte. Certains profils monteront le /dev de l’hĂŽte, tandis que d’autres non. Certains profils montent en lien (« bind ») d’autres portions du systĂšme de fichiers de l’hĂŽte, afin de permettre l’utilisation de certaines propriĂ©tĂ©s, incluant le rĂ©pertoire personnel de l’utilisateur et des portions particuliĂšres de /var . Consultez le fichier fstab du profil pour ĂȘtre certain de ce qui va ĂȘtre montĂ©, et les autres fichiers du profil pour savoir quels fichiers et bases de donnĂ©es systĂšme seront copiĂ©s dans le chroot. Choisissez un profil diffĂ©rent ou Ă©ditez les fichiers pour restreindre d’avantage ce qui sera disponible Ă  l’intĂ©rieur du chroot.

Il y a un compromis entre la sĂ©curitĂ© (garder le chroot aussi petit que possible) et la convivialitĂ© (qui requiert parfois l’accĂšs Ă  des portions du systĂšme de fichiers de l’hĂŽte). Les diffĂ©rents profils font diffĂ©rents compromis, et il est important que vous Ă©valuiez lequel correspond au compromis sĂ©curitĂ©/convivialitĂ© dont vous avez besoin.

EXEMPLE

# Exemple de configuration

[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
description[fr_FR]=Chroot fichier basé sur Debian sid
priority=3
groups=sbuild
file=/srv/chroots/sid.tar.gz

[sid-snapshot]
type=lvm-snapshot
description=Debian unstable LVM snapshot
description[fr_FR]=instantané LVM de Debian unstable
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

FICHIERS

Définitions des chroots

/etc/schroot/schroot.conf

Le fichier de configuration des chroots pour l’ensemble du systĂšme. Ce fichier doit ĂȘtre possĂ©dĂ© par l’utilisateur root et ĂȘtre non inscriptible par les autres.

/etc/schroot/chroot.d

Des dĂ©finitions de chroot supplĂ©mentaires peuvent ĂȘtre placĂ©es dans des fichiers de ce rĂ©pertoire. Elles sont traitĂ©es de la mĂȘme façon que /etc/schroot/schroot.conf . Chaque fichier peut contenir une ou plusieurs dĂ©finitions de chroot.

Configuration des scripts de mise en place

Le répertoire /etc/schroot/default contient les configurations par défaut utilisées par les scripts de mise en place.

config

Fichier de configuration principal lu par les scripts de mise en place. Le format de ce fichier est dĂ©crit dans schroot-script-config (5). C’est la valeur par dĂ©faut pour la clĂ© script-config . Notez que prĂ©cĂ©demment il Ă©tait nommĂ© /etc/schroot/script-defaults . Les fichiers suivants sont rĂ©fĂ©rencĂ©s par dĂ©faut :

copyfiles

Une liste des fichiers à copier dans le chroot à partir du systÚme hÎte. Notez que précédemment elle était nommée /etc/schroot/copyfiles-defaults .

fstab

Un fichier au format décrit dans fstab (5), utilisé pour monter les systÚmes de fichiers dans le chroot. Le point de montage est relatif à la racine du chroot. Notez que précédemment il était nommé /etc/schroot/mount-defaults .

nssdatabases

Bases de donnĂ©es systĂšme (comme dĂ©crit dans /etc/nsswitch.conf sur les systĂšmes GNU/Linux) Ă  copier dans le chroot depuis l’hĂŽte. Notez que prĂ©cĂ©demment cela Ă©tait nommĂ© /etc/schroot/nssdatabases-defaults .

AUTEURS

Roger Leigh.

COPYRIGHT

Copyright © 2005-2012 Roger Leigh <rleigh@codelibre.net>

schroot est un logiciel libre : vous pouvez le redistribuer et/ou le modifier aux conditions définies dans la licence publique générale GNU telle que publiée par la Free Software Foundation, version 2 ou, selon votre préférence, toute version ultérieure.

VOIR AUSSI

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

TRADUCTION

Ce document est une traduction, réalisée par Thomas Blein le 30 mai 2012.

L’équipe de traduction a fait le maximum pour rĂ©aliser une adaptation française de qualitĂ©.

La version anglaise de ce document est toujours consultable en ajoutant l’option « -L C » Ă  la commande man .

N’hĂ©sitez pas Ă  signaler Ă  l’auteur ou Ă  la liste de traduction < debian-l10n-french@lists.debian.org >, selon le cas, toute erreur dans cette page de manuel.