SCHROOT.CONF(5) 2022 SCHROOT.CONF(5) NOM schroot.conf -- fichier de definition des chroots de schroot DESCRIPTION schroot.conf est un fichier texte code en UTF-8, decrivant les chroots utilisables avec schroot. Les commentaires sont prefixes par un caractere `#' ("hash") au debut d'une ligne ou a la suite de n'importe quel texte. Tout texte a la droite de `#' est traite comme un commentaire. Le format de configuration est de type INI, decoupe en groupes de paires cle-valeur separes par des noms de section entre crochets. Options generales Un chroot est defini comme un groupe de paires cle-valeur qui debute par un nom entre crochets, seul sur une ligne. Le fichier peut contenir plusieurs groupes definissant ainsi plusieurs chroots. La definition du chroot debute par son nom entre crochets. Par exemple, [sid] Le nom est sujet a certaines restrictions de denomination. Pour plus de details, consultez la section "Nom de Chroot" ci-dessous. S'ensuivent plusieurs paires cle-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 etre traduite en differentes langues ; consultez la section "Localisation" ci-dessous. priority=nombre Definir la priorite 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 etre `0' alors que "stable" et "stable-security" sont `1', "testing" est `2' et "unstable" est `3'. Les valeurs ne sont pas importantes, mais les differences entre elles le sont. Cette option est deconseillee et n'est plus utilisee par schroot, mais il est encore permis de l'utiliser, elle deviendra obsolete et sera retiree dans une prochaine version. message-verbosity=verbosite Definir la verbosite des messages affiches par schroot lors de la mise en place, de l'execution des commandes et du nettoyage du chroot. Les parametres valables sont `quiet' (supprime la plupart des messages), `normal' (par defaut) et `verbose' (affiche tous les messages). Ce parametre est ecrase par les options --quiet et --verbose. users=utilisateur1,utilisateur2, Une liste separee par des virgules des utilisateurs qui sont autorises a acceder au chroot. Si vide ou omis, aucun utilisateur ne sera autorise a acceder au chroot (sauf s'il appartient a un groupe specifie dans groups). groups=groupe1,groupe2,... Une liste separee par des virgules des groupes qui sont autorises a acceder au chroot. Si vide ou omis, aucun groupe d'utilisateurs ne sera autorise a acceder au chroot. root-users=utilisateur1,utilisateur2,... Une liste separee par des virgules des utilisateurs qui sont autorises a devenir root dans le chroot sans mot de passe. Si vide ou omis, aucun utilisateur ne sera autorise a 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 acces avec un mot de passe). Consultez la section "Securite" ci-dessous. root-groups=groupe1,groupe2,... Une liste separee par des virgules des groupes qui sont autorises a devenir root dans le chroot sans mot de passe. Si vide ou omis, aucun utilisateur ne sera autorise a 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 acces avec un mot de passe). Consultez la section "Securite" ci-dessous. aliases=alias1,alias2,... Une liste separee par des virgules des alias (noms alternatifs) pour ce chroot. Par exemple, un chroot, nomme "sid", peut avoir un alias `unstable' pour des raisons de commodite. Les alias sont sujets aux memes restrictions que le nom du chroot lui-meme. profile=repertoire script-config=nom-de-fichier Le comportement des scripts de mise en place des chroots peut etre personnalise pour chaque chroot en definissant un profil de configuration specifique. Le nom du repertoire est relatif a /etc/schroot. Le nom par defaut est `default'. Les fichiers de ce repertoire seront recherches par les scripts de mise en place dont le comportement peut par consequent etre personnalise en selectionnant le profil approprie. Les alternatives sont `minimal' (pour une configuration minimale), `desktop' (pour executer des programmes graphiques dans un chroot, autorisant plus de fonctionnalites du systeme hote disponible dans le chroot) et `sbuild' (pour utiliser le chroot pour la construction de paquet Debian). D'autres paquets peuvent fournir des profils supplementaires. La valeur par defaut des cles setup.config, setup.copyfiles, setup.fstab et setup.nssdatabases est definie en fonction de la configuration de profile. Notez que la cle profile remplace l'ancienne cle script-config. La cle script-config est exactement la meme que profile, mais "/config" y est ajoutee. Le nom de fichier par defaut est `default/config'. Chacune de ces deux cles peuvent etre utilisees. script-config sera prioritaire (profile sera indefini). script-config est deconseillee et sera retiree dans une prochaine version. Notez que profile est equivalent a script-config si le fichier recherche par script-config ne contient que les variables standard fournies par schroot. Si des variables supplementaires ou des scripts shell sont ajoutes, veuillez egalement definir setup.config qui permettra a ces fichiers d'etre toujours recherches. Il est recommande de remplacer l'utilisation de fichiers recherches par des cles supplementaires dans schroot.conf quand cela est possible. Il sera toujours possible de rechercher des fichiers de configuration supplementaires en utilisant setup.config. A 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 cle preserve-environment doit etre definie a `true' pour que l'environnement soit preserve dans le chroot. Si aucun des profils de configuration fournis ci-dessus ne convient a vos besoins, ils peuvent etre edites pour les personnaliser davantage et/ou copies et utilises en tant que modeles pour de tous nouveaux profils. Notez que les differents profils ont des implications de securite differentes ; consultez la section "Securite" ci-dessous pour plus d'informations. setup.config=nom-de-fichier Cette cle specifie un fichier que les scripts de mise en place vont rechercher quand ils seront executes. La valeur par defaut est celle definie par script-config. Le fichier est un script de type Bourne shell, et par consequent 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 specifique ou nom de chroot. Notez que le script sera charge a chaque invocation des scripts de mise en place et doit etre idempotent. Toutes les configurations par defaut dans le fichier sont maintenant definissables en utilisant les cles de configuration dans schroot.conf, comme detaille ci-dessous. Les configurations existantes devront etre modifiees pour utiliser ces cles a la place de ce fichier. Consultez schroot-script-config(5) pour plus de details. Ce type de fichier de configuration de script de mise en place n'est plus fourni dans les profils standard, mais continuera a etre recherche s'il est present et que cette cle est definie. setup.copyfiles=nom-de-fichier Un fichier contenant une liste de fichiers a copier dans le chroot (un fichier par ligne). Le fichier aura le meme chemin absolu dans le chroot. setup.fstab=nom-de-fichier Le fichier de la table des systemes de fichiers a utiliser pour monter les systemes de fichiers dans le chroot. Le format de ce fichier est le meme que pour /etc/fstab, documente dans fstab(5). La seule difference est que le chemin du point de montage fs_dir est relatif au chroot plutot qu'a la racine. Notez egalement que les points de montage sont canonises sur l'hote, ce qui permet de s'assurer que les liens symboliques absolus pointent a l'interieur du chroot. Cependant, les chemins complexes contenant des liens symboliques multiples peuvent etre incorrectement resolus. Il est deconseille d'utiliser les liens symboliques imbriques comme points de montage. setup.nssdatabases=nom-de-fichier Un fichier listant les bases de donnees du systeme a copier dans le chroot. Les bases de donnees par defaut sont `passwd', `shadow', `group' et `gshadow'. Les autres bases de donnees qui pourraient etre ajoutees incluent `services', `protocols', `networks' et `hosts'. Les bases de donnees sont copiees en utilisant getent(1) pour que toutes les sources de bases de donnees listees dans /etc/nsswitch.conf soient utilisees pour chaque base de donnees. setup.services=service1,service2, Une liste des services a executer dans le chroot separes par des virgules. Ceux-ci seront demarres quand la session demarrera et arretes quand la session se terminera. command-prefix=commande,option1,option2,... Une liste separee par des virgules d'une commande et des options de la commande. Cette commande et ses options seront prefixees a toutes les commandes executees dans le chroot. C'est utile pour ajouter des commandes comme nice, ionice ou eatmydata pour toutes les commandes executees dans le chroot. nice et ionice affecteront l'ordonnancement CPU et I/O. eatmydata ignore les operations fsync sur le systeme de fichiers et est utile pour les chroots d'instantane jetable ou vous ne vous souciez pas des pertes de donnees, mais desirez une grande vitesse. personality=persona Definir les personnalites (domaine d'execution des processus) a utiliser. Cette option est utile par exemple lors de l'utilisation d'un chroot 32 bits sur un systeme 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 defaut est `linux'. Il y a aussi l'option speciale `undefined' (personnalite non definie). Pour un chroot 32 bits sur un systeme 64 bits, `linux32' est l'option requise. La seule option valable pour les systemes non Linux est `undefined'. La valeur par defaut pour les systemes non Linux est `undefined'. preserve-environment=true|false Par defaut, l'environnement ne sera pas preserve a l'interieur du chroot. A la place, un environnement minimal sera utilise. Definir a true pour toujours preserver l'environnement. C'est utile par exemple lors de l'execution des applications graphiques a l'interieur du chroot qui ont besoin de l'environnement pour fonctionner correctement. L'environnement peut egalement etre preserve en utilisant l'option --preserve-environment. shell=shell Lors de l'execution d'un interpreteur de commande de connexion plusieurs interpreteurs de commandes potentiels seront consideres dans cet ordre : la commande dans la variable d'environnement SHELL (si l'option --preserve-environment est utilisee ou si preserve-environment est active), l'interpreteur de commandes de l'utilisateur dans la base de donnees `passwd', /bin/bash et finalement /bin/sh. Ce parametre ecrase cette liste et utilisera l'interpreteur de commandes specifie. Il peut etre ecrase en utilisant l'option --shell. environment-filter=regex L'environnement a definir dans le chroot sera filtre dans le but d'enlever les variables d'environnement qui peuvent poser un probleme de securite. Toute variable d'environnement qui correspondrait a l'expression reguliere POSIX etendue specifiee sera supprimee avant l'execution de toute commande dans le chroot. Les variables d'environnement potentiellement dangereuses sont retirees par securite par defaut en utilisant l'expression reguliere 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 repertoires accessibles dans le systeme de fichiers. Les deux types sont equivalents a l'exception du fait que les chroots << directory >> executent les scripts de mise en place tandis que les chroots << plain >> non. Par consequent, les systemes de fichiers comme /proc ne sont pas montes dans les chroots << plain >> ; c'est la responsabilite de l'administrateur de configurer manuellement ces types de chroot alors que les chroots << directory >> sont automatiquement configures. De plus, les chroots << directory >> implementent les options des chroots union de systemes de fichiers (consultez "Options des chroots union de systemes de fichiers ci-dessous). Ces types de chroot ont une option de configuration supplementaire (requise) : directory=repertoire Le repertoire contenant l'environnement de chroot. C'est la ou la racine sera deplacee lors de l'execution d'un interpreteur de commande de connexion ou d'une commande. Le repertoire doit exister et etre accessible en lecture et execution pour autoriser les utilisateurs a y acceder. Notez que sur les systemes Linux il sera monte autre part pour etre utilise comme chroot ; le repertoire pour les chroots `plain' est monte avec l'option --rbind pour mount(8), alors que pour les chroots `directory' l'option --bind sera utilisee a la place pour que les sous-montages ne soient pas conserves (ils doivent etre definis dans le fichier fstab comme dans le fichier /etc/fstab de l'hote). Chroots << file >> Les chroots de type `file' sont des fichiers sur le systeme de fichiers courant contenant une archive des fichiers du chroot. Ils implementent les options des chroot source (consultez "Options des chroots source", ci-dessous). Notez qu'un chroot source correspondant (de type `file') sera cree pour chaque chroot de ce type ; c'est pour un acces commode a l'archive source, par exemple dans le but de mettre a jour. Les options supplementaires suivantes sont aussi implementees : file=nom-de-fichier Le fichier contenant l'environnement de chroot archive (requis). Cela doit etre une archive tar, facultativement compressee par gzip, bzip2, xz, lzop ou lz4. Les extensions de fichier utilisees pour determiner le type sont .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lzop, .tar.lz4, .tgz, .tbz, .txz, .tzo et .tlz4. Ce fichier doit appartenir a l'utilisateur root et etre non inscriptible par les autres. Notez que les archives zip ne sont plus gerees ; zip n'etait capable d'archiver ni les tubes nommes (<< named pipes >>) ni les noeuds de peripheriques (<< device nodes >>) et n'etait donc pas adequat pour archiver des chroots. location=chemin C'est le chemin du chroot a l'interieur de l'archive. Par exemple, si l'archive contient un chroot dans /squeeze, vous devriez specifier ici "/squeeze". Si le chroot est la seule chose a l'interieur de l'archive, c'est-a-dire si / est la racine du systeme de fichiers pour le chroot, cette option doit etre laissee vide ou omise completement. Chroots loopback Les chroots de type `loopback' sont des systemes de fichiers disponibles comme des fichiers sur le disque, accessibles par un montage loopback. Le fichier sera monte en loopback et demonte a la demande. Les chroots loopback implementent les options de chroot montable et de chroot d'union de systemes de fichiers (consultez "Options de chroot montable" et "Options de chroot d'union de systemes de fichiers", ci-dessous) et une option supplementaire : file=nom-de-fichier C'est le nom du fichier contenant le systeme de fichiers, incluant le chemin absolu. Par exemple, "/srv/chroot/sid". Chroots peripherique de blocs (<< block device >>). Les chroots de type `block-device' sont des systemes de fichiers disponibles sur un peripherique bloc non monte. Le peripherique sera monte et demonte a la demande. Les chroots peripheriques bloc implementent les options chroot montable et chroot d'union de systemes fichiers (consultez "Options des chroots montables" et "Options des chroots d'union de systemes de fichiers" ci-dessous) et une option supplementaire : device=peripherique C'est le nom du peripherique contenant le peripherique bloc, incluant le chemin absolu. Par exemple, "/dev/sda5". Chroots d'instantanes Btrfs Les chroots de type `btrfs-snapshot' sont des instantanes Btrfs crees a partir d'un sous-volume Btrfs existant sur un systeme de fichiers Btrfs monte. Un instantane sera cree a partir de ce sous-volume source a la demande au demarrage d'une session et l'instantane sera monte. A la fin de la session, l'instantane sera demonte et supprime. Ce type de chroot implemente les options de chroots source (consultez "Options de chroots source" ci-dessous). Notez qu'un chroot source correspondant (de type `directory') sera cree pour chaque chroot de ce type ; c'est pour un acces commode au volume source. Les options supplementaires suivantes sont egalement implementees : btrfs-source-subvolume=repertoire Le repertoire contenant le sous-volume source. btrfs-snapshot-directory=repertoire Le repertoire dans lequel les instantanes du sous-volume ci-dessus seront enregistres. 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'instantanes LVM Les chroots de type `lvm-snapshot' sont des systemes de fichiers disponibles sur un volume logique LVM (LV). Un instantane LV sera cree a partir de ce LV a la demande, ce dernier sera ensuite monte. A la fin de la session, l'instantane LV sera demonte et supprime. Les chroots d'instantanes LVM implementent les options des chroots sources (consultez "Options des chroots source" ci-dessous) et toutes les options des `peripheriques bloc'. Notez qu'un chroot source correspondant (de type `block-device') sera cree pour chaque chroot de ce type ; c'est pour un acces commode au peripherique source. L'option supplementaire suivante est egalement implementee : lvm-snapshot-options=options_d'instantanes Options d'instantanes. Ce sont les options supplementaires a passer a lvcreate(8). Par exemple, "-L 2g" pour creer des instantanes de 2 GiB. Note : le nom du LV (-n), les options des instantanes (-s) et le chemin original du LV ne devraient pas etre specifies ici ; ils sont definis automatiquement par schroot. Chroots personnalises Les chroots de type `custom' sont des types de chroot speciaux, utilises pour implementer de nouveaux types de chroot geres par aucun des types de chroot ci-dessus. Cela peut etre utile pour implementer et tester un nouveau type de chroot sans besoin d'ecrire de code C++. Cependant, vous devrez ecrire vos propre scripts de mise en place pour effectuer la mise en place, car par defaut ce type de chroot ne fait pas grand chose. Vous aurez aussi besoin d'ajouter des cles personnalisees a votre definition de chroot pour etre utilisees dans le script de mise en place ; a la difference de la configuration des types de chroot ci-dessus, aucune validation des options ne sera faite a moins que vous ne le fassiez vous-meme dans votre script de mise en place personnalise. Les options supplementaires suivantes sont egalement implementees : custom-session-cloneable=true|false Definir si les sessions peuvent etre clonees en utilisant ce chroot ou non (active par defaut). custom-session-purgeable=true|false Definir si les sessions peuvent etre purgees en utilisant ce chroot ou non (desactive par defaut). custom-source-cloneable=true|false Definir si les chroots source peuvent etre clones en utilisant ce chroot ou non (desactive par defaut). Options des chroots source Les chroots de type `btrfs-snapshot', `file' et `lvm-snapshot' implementent les chroots source. De plus, les types de chroot avec la prise en charge de l'union activee implementent les chroots source (consultez "Options des chroots union de systemes de fichiers" ci-dessous). Ce sont des chroots qui creent automatiquement une copie d'eux-memes avant utilisation et qui sont en general geres par des sessions. Ces chroots fournissent en plus un chroot supplementaire dans l'espace de noms source:, pour permettre un acces commode aux donnees d'origine (non-imagees) et aider a la maintenance du chroot. Par exemple pour un chroot nomme wheezy (chroot:wheezy), un chroot source source:wheezy correspondant sera cree. Pour des questions de compatibilite avec des versions plus anciennes de schroot qui ne prennent pas en charge les espaces de noms, un chroot de meme nom avec le suffixe -source ajoute sera cree en plus (par exemple wheezy-source en continuant l'exemple ci-dessus). Notez que ces noms pour compatibilite seront retires dans schroot 1.5.0, et par consequent l'utilisation de l'espace de noms source: est prefere a la place de l'utilisation de la forme avec le suffixe -source. Consultez schroot(1) pour plus de details. Ces chroots fournissent les options supplementaires suivantes : source-clone=true|false Definir si le chroot source doit etre clone automatiquement (cree) pour ce chroot. La valeur par defaut est true pour cloner automatiquement, mais si besoin le clonage peut etre desactive en la definissant a false. Si le clonage est desactive, le chroot source sera inaccessible. source-users=utilisateur1,utilisateur2,... Une liste separee par des virgules des utilisateurs qui sont autorises a acceder au chroot source. Si vide ou omis, aucun utilisateur ne sera autorise a acceder au chroot. Cela deviendra l'option users dans le chroot source. source-groups=groupe1,groupe2,... Une liste separee par des virgules des groupes qui sont autorises a acceder au chroot source. Si vide ou omis, aucun utilisateur ne sera autorise a acceder au chroot. Cela deviendra l'option groups dans le chroot source. source-root-users=utilisateur1,utilisateur2,... Une liste separee par des virgules des utilisateurs qui sont autorises a devenir root dans le chroot source sans mot de passe. Si vide ou omis, aucun utilisateur ne sera autorise a devenir root sans mot de passe (mais si un utilisateur est dans users, il peut obtenir un acces avec un mot de passe). Cela deviendra l'option root-users dans le chroot source. Consultez la section "Securite" ci-dessous. source-root-groups=groupe1,groupe2,... Une liste separee par des virgules des groupes qui sont autorises a devenir root dans le chroot source sans mot de passe. Si vide ou omis, aucun utilisateur ne sera autorise a devenir root sans mot de passe (mais si un groupe auquel appartient l'utilisateur est dans groups, il peut obtenir cet acces avec un mot de passe). Cela deviendra l'option root-groups dans le chroot source. Consultez la section "Securite" ci-dessous. Options des chroots montables Les chroots de type `block-device', `loopback' et `lvm-snapshot' implementent le montage de peripherique. Ce sont des chroots qui ont besoin de monter un peripherique pour pouvoir acceder au chroot. Ces chroot fournissent les options supplementaires suivantes : mount-options=options Les options de montage pour le peripherique bloc. Ce sont des options supplementaires a passer a mount(8). Par exemple, "-o atime,sync,user_xattr". location=chemin C'est le chemin vers le chroot a l'interieur du systeme de fichiers sur le peripherique. Par exemple, si le systeme de fichiers contient un chroot dans /chroot/sid, vous specifieriez ici "/chroot/sid". Si le chroot est la seule chose sur le systeme de fichiers, c'est-a-dire que / est la racine du systeme de fichiers pour le chroot, cette option doit etre laissee vide ou omise entierement. Options de chroot d'union de systemes de fichiers Les chroots de type `block-device', `directory' et `loopback' permettent, lors de la creation d'une session utilisant les unions de systemes de fichiers, de superposer sur le systeme de fichiers d'origine un repertoire separe inscriptible. Le systeme de fichiers d'origine est en lecture seule ; toute modification faite au systeme de fichiers dans le dossier inscriptible superpose laisse le systeme de fichiers d'origine inchange. Une union permet a plusieurs sessions d'acceder et faire des changements simultanement sur un unique chroot, en gardant les changements de maniere privee a chaque session. Pour activer cette caracteristique, definissez union-type a n'importe quelle valeur geree. Des lors, le chroot sera egalement un chroot source, qui fournira des options supplementaires (consultez "Options des chroots source" ci-dessus). Toutes les entrees sont optionnelles. union-type=type Definir le type d'union de systemes de fichiers. Pour le moment les systemes de fichiers pris en charge sont `aufs', `overlayfs', `overlay' (a partir de Linux 4.0+) et `unionfs'. La valeur par defaut est `none' qui desactive cette caracteristique. union-mount-options=options Options de montage des unions de systemes de fichiers (configuration des branches), utilisees pour monter l'union de systemes de fichiers specifies avec union-type. Cela remplacera la chaine de caracteres complete "-o" pour les montages et autorise la creation d'unions de systemes de fichiers complexes. Notez que `aufs', `overlayfs' et `unionfs' prennent en charge differentes options de montage. Note : Il est possible d'utiliser les variables "${CHROOT_UNION_OVERLAY_DIRECTORY}" et "${CHROOT_UNION_UNDERLAY_DIRECTORY}" pour se referer respectivement au repertoire de surcouche de session inscriptible et au repertoire en lecture seule sous-jacent qui forment l'union. Consultez schroot-setup(5) pour une liste complete des variables. union-overlay-directory=repertoire Specifier le repertoire ou les repertoires de la surcouche inscriptible pour la session seront crees. Par defaut, il s'agit de `/var/lib/schroot/union/overlay'. union-underlay-directory=repertoire Specifier le repertoire ou les repertoires de la sous-couche en lecture seule seront crees. Par defaut, il s'agit de `/var/lib/schroot/union/underlay'. Personnalisation En plus de la configuration des cles listees ci-dessus, il est possible d'ajouter des cles personnalisees. Ces cles seront utilisees pour ajouter des variables d'environnement supplementaires a l'environnement d'execution des scripts de mise en place. La seule restriction est que le nom des cles doit contenir uniquement des caracteres alphanumeriques ou des traits d'union, doit commencer par un caractere de l'alphabet et contenir au moins un point. C'est-a-dire qu'il doit correspondre a l'expression reguliere etendue "^([a-z][a-z0-9]*\.)+[a-z][a-z0-9-]*$". Par exemple : debian.apt-update=true debian.distribution=unstable Definira les variables d'environnement suivantes : DEBIAN_APT_UPDATE=true DEBIAN_DISTRIBUTION=unstable Notez que c'est une erreur d'utiliser differents noms de cle definissant la meme variable d'environnement en melangeant des points et des traits d'union. Les cles de configuration personnalisees peuvent egalement etre modifiees lors de l'execution en utilisant l'option --option. Cependant, pour des raisons de securite, seules les cles selectionnees peuvent etre modifiees. Ces cles sont specifiees en utilisant les options suivantes : user-modifiable-keys=cle1,cle2,.. Definir les cles que l'utilisateur peut modifier en utilisant --option. root-modifiable-keys=cle1,cle2,.. Definir les cles que le superutilisateur peut modifier en utilisant --option. Notez que le superutilisateur peut utiliser les cles definies dans user-modifiable-keys en plus des cles definies ici. Localisation Quelques cles peuvent etre traduites dans plusieurs langues. C'est effectue en ajoutant le nom local entre crochets apres le nom de la cle. Par exemple : description[en_GB]=Traduction anglaise britannique Cela traduira la cle description pour la locale en_GB. description[fr]=Traduction francaise Cela traduira la cle description pour toutes les locales francaises. 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 apparaitre a la fin du nom. Ce sont des copies de sauvegarde des fichiers de configuration utilisees par le gestionnaire de paquet dpkg, et seront ignorees. SECURITE Utilisateurs non fiables Notez que donner des acces root a des chroots pour des utilisateurs non fiables est un serieux probleme de securite ! Bien que l'utilisateur non fiable n'aura un acces root qu'aux fichiers a l'interieur du chroot, en pratique il y a plein de facons evidentes de sortir du chroot et de perturber les services sur le systeme hote. Comme toujours, cela revient a la confiance. Ne donnez pas d'acces root au chroot pour des utilisateurs auxquels vous ne faites pas confiance pour un acces root sur le systeme hote. Profils En fonction du profil que vous avez configure avec l'option script-config, differents systemes de fichiers seront montes a l'interieur du chroot, et differents fichiers seront copies dans le chroot a partir de l'hote. Certains profils monteront le /dev de l'hote, tandis que d'autres non. Certains profils montent en lien (<< bind >>) d'autres portions du systeme de fichiers de l'hote, afin de permettre l'utilisation de certaines proprietes, incluant le repertoire personnel de l'utilisateur et des portions particulieres de /var. Consultez le fichier fstab du profil pour etre certain de ce qui va etre monte, et les autres fichiers du profil pour savoir quels fichiers et bases de donnees systeme seront copies dans le chroot. Choisissez un profil different ou editez les fichiers pour restreindre d'avantage ce qui sera disponible a l'interieur du chroot. Il y a un compromis entre la securite (garder le chroot aussi petit que possible) et la convivialite (qui requiert parfois l'acces a des portions du systeme de fichiers de l'hote). Les differents profils font differents compromis, et il est important que vous evaluiez lequel correspond au compromis securite/convivialite 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 base 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]=instantane 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 Definitions des chroots /etc/schroot/schroot.conf Le fichier de configuration des chroots pour l'ensemble du systeme. Ce fichier doit etre possede par l'utilisateur root et etre non inscriptible par les autres. /etc/schroot/chroot.d Des definitions de chroot supplementaires peuvent etre placees dans des fichiers de ce repertoire. Elles sont traitees de la meme facon que /etc/schroot/schroot.conf. Chaque fichier peut contenir une ou plusieurs definitions de chroot. Configuration des scripts de mise en place Le repertoire /etc/schroot/default contient les configurations par defaut utilisees 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 decrit dans schroot-script-config(5). C'est la valeur par defaut pour la cle script-config. Notez que precedemment il etait nomme /etc/schroot/script-defaults. Les fichiers suivants sont references par defaut : copyfiles Une liste des fichiers a copier dans le chroot a partir du systeme hote. Notez que precedemment elle etait nommee /etc/schroot/copyfiles-defaults. fstab Un fichier au format decrit dans fstab(5), utilise pour monter les systemes de fichiers dans le chroot. Le point de montage est relatif a la racine du chroot. Notez que precedemment il etait nomme /etc/schroot/mount-defaults. nssdatabases Bases de donnees systeme (comme decrit dans /etc/nsswitch.conf sur les systemes GNU/Linux) a copier dans le chroot depuis l'hote. Notez que precedemment cela etait nomme /etc/schroot/nssdatabases-defaults. AUTEURS Roger Leigh. COPYRIGHT Copyright (C) 2005-2012 Roger Leigh schroot est un logiciel libre : vous pouvez le redistribuer et/ou le modifier aux conditions definies dans la licence publique generale GNU telle que publiee par la Free Software Foundation, version 2 ou, selon votre preference, toute version ulterieure. VOIR AUSSI sbuild(1), schroot(1), schroot-script-config(5), schroot-faq(7), mount(8). TRADUCTION Ce document est une traduction, realisee par Thomas Blein le 30 mai 2012. L'equipe de traduction a fait le maximum pour realiser une adaptation francaise de qualite. La version anglaise de ce document est toujours consultable en ajoutant l'option << -L C >> a la commande man. N'hesitez pas a signaler a l'auteur ou a la liste de traduction , selon le cas, toute erreur dans cette page de manuel. Aug 14 SCHROOT.CONF(5)