Provided by: schroot_1.6.10-6_amd64 bug

NOM

       schroot — entrer de manière sécurisée dans un environnement de chroot

RÉSUMÉ

       schroot  [-h|--help  |  -V|--version  |  -l|--list  |  -i|--info | --config | --location |
       --automatic-session  |  -b|--begin-session  |  --recover-session  |   -r|--run-session   |
       -e|--end-session]   [-f|--force]   [-n  nom-de-session|--session-name=nom-de-session]  [-d
       répertoire|--directory=répertoire]      [-u      utilisateur|--user=utilisateur]       [-u
       utilisateur|--user=utilisateur]  [-p|--preserve-environment][-s  shell|--shell=shell]  [-q
       |--quiet  |  -v|--verbose]  [-c  chroot|--chroot=chroot  |   --all   |   --all-chroots   |
       --all-source-chroots  | --all-sessions] | --exclude-aliases [-o|--option=clé=valeur]  [--]
       [COMMANDE [ ARG1 [ ARG2 [ ARGn]]]]

DESCRIPTION

       schroot autorise l'utilisateur à exécuter une commande ou un interpréteur de  commande  de
       connexion  dans  un  environnement  de  chroot.  Si  aucune  commande  n'est  précisée, un
       interpréteur de commande de connexion sera démarré dans le répertoire de  travail  courant
       de l'utilisateur à l'intérieur du chroot.

       La  commande  est  un  programme  plus  autant  d'arguments  optionnels que requis. Chaque
       argument doit être déclaré séparément.

       Le répertoire dans lequel la commande ou l'interpréteur  de  commande  de  connexion  sont
       exécutés  dépend  du  contexte.  Voir l'option --directory ci-dessous pour une description
       complète.

       Toute utilisation de chroot sera enregistrée dans les journaux du système. Dans  certaines
       circonstances,   l'utilisateur   pourrait   devoir  s'identifier ;  consultez  la  section
       “Authentification” ci-dessous.

       Si aucun chroot n'est spécifié, le nom de chroot ou alias  ‘default’  sera  utilisé  à  la
       place. Cela est équivalent à “--chroot=default”.

APERÇU

       Il  est  souvent  nécessaire d'exécuter des programmes dans des environnements virtualisés
       plutôt que directement sur le système  hôte.  À  la  différence  des  autres  systèmes  de
       virtualisation  comme  kvm  ou  Xen,  schroot  ne virtualise pas le système en entier ; il
       virtualise seulement le système de fichiers, et certaines parties du système  de  fichiers
       peuvent  toujours  être  partagées  avec  l'hôte.  Il  est par conséquent rapide, léger et
       flexible. Cependant, il ne virtualise pas les autres aspects du système, comme la  mémoire
       partagée,  le  réseau, les périphériques, etc., et par conséquent peut être moins sécurisé
       que d'autres systèmes, en fonction de l'utilisation voulue.  Des  exemples  d'utilisations
       connues de schroot sont :

       ·      Exécuter  des  programmes  non fiables dans un bac à sable ; de cette façon, ils ne
              peuvent pas interférer avec les fichiers du système hôte ; cela peut également être
              utilisé  pour diminuer les dommages que causerait la compromission d'un service sur
              l'hôte.

       ·      Utiliser un environnement défini ou propre pour  garantir  la  reproductibilité  et
              l'intégrité d'une tâche donnée.

       ·      Utiliser  une  version  différente  d'un système d'exploitation, ou même un système
              d'exploitation complètement  différent,  par  exemple  une  distribution  GNU/Linux
              différente.

       ·      Exécuter des programmes 32 bits sur un système hôte 64 bits, en utilisant un chroot
              32 bits.

       ·      Construire automatiquement des paquets Debian en utilisant sbuild(1) qui  construit
              chaque  paquet  dans  un  instantané  chroot dédié quand les instantanés LVM ou les
              unions sont utilisés.

       ·      Prendre en charge des images multiples de systèmes dans une installation de  grappe
              où  modifier  l'image  de  base  est consommatrice de temps et/ou prendre en charge
              toutes les configurations requises par les utilisateurs est difficile :  différents
              chroots  peuvent  prendre en charge toutes les configurations différentes requises,
              et l'accès peut être donné aux utilisateurs de la grappe pour les chroots dont  ils
              ont  besoin  (ce qui peut inclure des accès root pour les utilisateurs de confiance
              afin qu'ils puissent entretenir leurs propres images)

       Un chroot peut être utilisé directement en  exécutant  chroot(8),  mais  les  utilisateurs
       standard  ne  sont pas autorisés à exécuter cette commande. schroot autorise l'accès à des
       chroots pour des utilisateurs normaux en utilisant le même mécanisme, mais avec  plusieurs
       caractéristiques  supplémentaires.  Alors  que  schroot utilise un répertoire comme chroot
       exactement comme chroot(8), il n'a pas besoin que celui-ci soit un  répertoire  ordinnaire
       du  système  de fichier. Bien que cela soit la valeur par défaut, le chroot peut également
       être créé à partir d'un fichier, d'un système de fichiers, incluant les instantanés LVM et
       Btrfs  et  les  montages  « loopback »,  ou composé d'une surcouche unionfs. schroot étant
       extensible par l'utilisateur, les possibilités de création de chroot provenant de  sources
       différentes  ne sont limités que par votre imagination. schroot effectue des vérifications
       de  permission  et  autorise  des  mises  en   place   automatiques   supplémentaires   de
       l'environnement  de  chroot,  comme  le montage de systèmes de fichiers supplémentaires et
       d'autres tâches de configuration. Cette mise en place automatique est faite  par  l'action
       de  scripts  de  mise en place qui peuvent être configurés et étendus pour effectuer toute
       action nécessaire. Les actions typiques incluent le montage  du  répertoire  personnel  de
       l'utilisateur,  la  configuration  du réseau et des bases de données du système et même le
       démarrage   de   services.   Ils   sont   également   entièrement   personnalisables   par
       l'administrateur.  Les  scripts  de  mise  en  place  sont exécutés pour tous les types de
       chroot, à l'exception de ceux de type ‘plain’, le type de chroot le  plus  simple  qui  ne
       permet  aucune  mise en place automatique. La configuration de schroot est décrite plus en
       détail dans schroot.conf(5).

OPTIONS

       schroot accepte les options suivantes :

   Actions
       -h, --help
              Afficher un résumé de l'aide.

       -V, --version
              Afficher les informations de version.

       -l, --list
              Lister tous les chroots disponibles.

       -i, --info
              Afficher des informations détaillées à propos des chroots spécifiés.

       --config
              Afficher la configuration des chroots spécifiés. C'est utile  pour  tester  que  la
              configuration  utilisée  est  la  même  que celle du fichier de configuration. Tout
              commentaire du fichier original est omis.

       --location
              Afficher la localisation (chemin) des chroots spécifiés. Noter  que  les  types  de
              chroot  qui ne peuvent être utilisés qu'à l'intérieur d'une session n'auront aucune
              localisation avant d'être activés.

   Options générales
       -q, --quiet
              Afficher uniquement les messages essentiels.

       -v, --verbose
              Afficher tous les messages.

   Sélection de chroots.
       -c, --chroot=chroot
              Spécifier un chroot ou une session  active  à  utiliser.  Cette  option  peut  être
              utilisée  plusieurs  fois  pour  spécifier plus d'un chroot. Dans ce cas, elle a un
              effet similaire à --all. Le nom du chroot peut être préfixé par un espace de  noms.
              Veuillez vous reporter à la section “Espaces de noms Chroot” ci-après.

       -a, --all
              Sélectionner  tous  les  chroots,  chroots  source  et  sessions actives. Quand une
              commande a été spécifiée, cette commande  sera  exécutée  dans  tous  les  chroots,
              chroots  source  et  sessions  actives.  Si  --info  a  été  utilisé,  afficher les
              informations à propos de tous les chroots. Cette option n'a aucun sens si elle  est
              utilisée  avec  un  interpréteur de commande de connexion (« login shell »), aucune
              commande  n'étant  spécifiée.  Cette  option  est  équivalente   à   “--all-chroots
              --all-source-chroots --all-sessions”.

       --all-chroots
              Sélectionner  tous  les  chroots. Identique à --all, sauf que les chroots source et
              les sessions actives ne sont pas pris en compte.

       --all-sessions
              Sélectionner toutes les sessions actives. Identique à --all, sauf que  les  chroots
              et les chroots source ne sont pas pris en compte.

       --all-source-chroots
              Sélectionner  tous  les  chroots source. Identique à --all, sauf que les chroots et
              les sessions ne sont pas pris en compte.

       --exclude-aliases
              Ne pas sélectionner les alias en plus des chroots. Cela  permet  de  s'assurer  que
              seuls  les  chroots  réels  sont sélectionnés et qu'ils ne sont listés qu'une seule
              fois.

   Environnement de chroot
       -d, --directory=répertoire
              Se déplacer dans le répertoire dans le  chroot  avant  d'exécuter  la  commande  ou
              l'interpréteur  de  commande  de  connexion. Si le répertoire n'est pas disponible,
              schroot se terminera par un état d'erreur.

              Le comportement par défaut est comme suit (tous les chemins de  répertoire  sont  à
              l'intérieur  du  chroot). Un interpréteur de commande de connexion est exécuté dans
              le répertoire de travail courant. S'il n'est  pas  disponible,  $HOME  sera  essayé
              (quand  --preserve-environment  est  utilisé),  ensuite  le répertoire personnel de
              l'utilisateur, et finalement / à l'intérieur du chroot. Une commande  est  toujours
              exécutée  dans  le  répertoire de travail courant à l'intérieur du chroot. Si aucun
              des répertoires n'est disponible, schroot se terminera avec un état d'erreur.

       -u, --user=utilisateur
              Exécuter en tant qu'utilisateur différent. Par défaut,  la  commande  est  exécutée
              avec  l'utilisateur  courant.  Si  nécessaire,  l'utilisateur  peut avoir besoin de
              s'identifier avec un mot de passe. Pour plus d'informations, consultez  la  section
              “Authentification”, ci-dessous.

       -p, --preserve-environment
              Préserver  l'environnement  de  l'utilisateur  à  l'intérieur de l'environnement de
              chroot. Par défaut, un  environnement  propre  est  utilisé ;  cette  option  copie
              l'ensemble  de l'environnement de l'utilisateur et le met en place dans la session.
              Les variables d'environnement autorisées sont soumises à  certaines  restrictions ;
              voir la section “Environnement”, ci-dessous.

       -s, -shell=shell
              Utiliser   shell  en  tant  qu'interpréteur  de  commande  de  connexion.  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.  Cette  option
              écrase  cette liste et utilisera l'interpréteur de commandes spécifié. Cette option
              écrase également la clé de configuration shell si définie.

       -o, --option=clé=valeur
              Définir une option. Les  valeurs  des  clés  de  configuration  sélectionnées  dans
              schroot.conf  peuvent  être  modifiées  en utilisant cette option. Les clés doivent
              être présentes dans la clé de configuration user-modifiable-keys dans schroot.conf,
              à  moins  que  la clé user-modifiable-keys ne soit exécutée par le superutilisateur
              (ou déplacée vers lui). Les clés et les valeurs définies ici seront  définies  dans
              l'environnement  des  scripts  de  mise  en  place  et  peuvent par conséquent être
              utilisées pour personnaliser le chroot pour chaque session.

   Actions de session
       --automatic-session
              Démarrer, exécuter et terminer une  session  automatiquement.  C'est  l'action  par
              défaut, et donc n'a pas besoin d'être spécifiée en opération normale.

       -b, --begin-session
              Débuter  une  session.  Un  identifiant unique de session est renvoyé sur la sortie
              standard. L'identifiant de session est nécessaire pour utiliser les autres  options
              de  session.  Notez  que  l'identifiant de session peut être spécifié avec l'option
              --session-name.

       --recover-session
              Restaurer une session existante. Si une session existante est devenue inaccessible,
              par  exemple  démontée  à  cause  d'un  redémarrage,  cette option permettra que la
              session soit disponible pour être utilisée de nouveau, par exemple en la remontant.
              L'identifiant de session est spécifié avec l'option --chroot.

       -r, --run-session
              Lancer  une  session existante. L'identifiant de session est spécifié avec l'option
              --chroot.

       -e, --end-session
              Terminer une session existante. L'identifiant de session est spécifié avec l'option
              --chroot.

   Options de session
       -n, --session-name=nom-de-session
              Nommer  une  session.  Le  nom-de-session  spécifié  remplace le nom de session par
              défaut contenant un identifiant  de  session  généré  automatiquement.  Le  nom  de
              session  ne  doit  pas  contenir  de  qualificatif  d'espace de noms, parce que les
              sessions sont toujours créées dans l'espace de noms ‘session:’. Le nom  de  session
              est  aussi  sujet  aux  restrictions  de  dénomination  de  chroot documentées dans
              schroot.conf(5).

       -f, --force
              Forcer une opération de session, même si elle aurait autrement  échoué.  Cela  peut
              être  utilisé  pour  forcer  la  fin  d'une session, même s'il y a des utilisateurs
              actifs. Cela ne garantit pas que la session se terminera proprement ; par  exemple,
              les systèmes de fichiers peuvent ne pas être démontés.

   Séparateur
       --     Fin  des  options. Utilisé pour indiquer la fin des options de schroot ; toutes les
              options suivantes seront passées à la commande exécutée, au lieu de schroot.

AUTHENTIFICATION

       Si l'utilisateur n'est pas un utilisateur autorisé, ou membre d'un groupe autorisé (ou  en
       cas de changement vers root, un utilisateur root autorisé ou un groupe root autorisé) pour
       le chroot spécifié, les permissions seront immédiatement refusées. En  cas  de  changement
       d'utilisateur  et  si  l'utilisateur  exécutant  la commande y est autorisé, l'utilisateur
       devra s'authentifier lui-même en utilisant les identifiants de l'utilisateur  vers  lequel
       le changement sera fait.

       Pour   les   systèmes   prenant   en  charge  le  système  d'authentification  « Pluggable
       Authentication  Modules »  (PAM),  schroot  utilisera  PAM  pour   l'authentification   et
       l'autorisation  des  utilisateurs.  Si  besoin,  schroot demandera un mot de passe. Si PAM
       n'est  pas  disponible,  toutes  les  authentifications  échoueront  automatiquement   (le
       changement d'utilisateur sans PAM n'est pas pris en charge).

       Notez   que  quand  PAM  est  utilisé,  l'utilisateur  root  n'obtiendra  aucun  privilège
       particulier par défaut dans le programme. Cependant, la configuration par  défaut  de  PAM
       permet  à  root  de  se  connecter  sans mot de passe (pam_rootok.so), mais cela peut être
       désactivé pour empêcher root d'accéder à des chroots quelconques sauf ceux  spécifiquement
       permis.  Dans  une  telle  situation,  root  doit  être ajouté aux utilisateurs ou groupes
       autorisés comme n'importe quel  utilisateur  ou  groupe.  Si  PAM  n'est  pas  disponible,
       l'utilisateur root pourra accéder à tous les chroots, même non explicitement autorisé.

ESPACES DE NOMS CHROOT

   Bases des espaces de noms
       Il  y  a trois types de chroot différents : les chroots ordinnaires, les chroots source et
       les chroots session. Ces différents types de chroot sont séparés dans  différents  espaces
       de noms. Un espace de noms est un préfixe à un nom de chroot. Pour le moment, il y a trois
       espaces de noms : ‘chroot:’, ‘source:’ et ‘session:’. Utilisez --list  --all  pour  lister
       tous  les  chroots  disponibles  dans  tous les espaces de noms. Parce que ‘:’ est utilisé
       comme séparateur entre l'espace de noms et les  noms  de  chroots,  il  n'est  pas  permis
       d'utiliser ce caractère dans les noms de chroot.

       En  fonction  de l'action que vous demandez à schroot d'exécuter, celui-ci peut rechercher
       le chroot dans l'un de ces trois espaces de noms, ou un espace de  noms  particulier  peut
       être  spécifié.  Par  exemple,  un  chroot  nommé  “sid” est en fait nommé “chroot:sid” si
       l'espace de noms est inclus, mais l'espace de noms peut être  omis  pour  la  plupart  des
       actions.

   Chroots source
       Certains  types  de  chroot,  par  exemple  les  instantanés LVM ou Btrfs, fournissent des
       instantanés du chroot de type « copie en cas d'écriture » contrôlés par  la  session.  Ils
       fournissent  également  un  chroot  source  pour  permettre  un accès facile au système de
       fichiers utilisé comme source de création d'instantané. Ce  sont  des  chroots  ordinaires
       également,  mais désactivant la création d'instantané. Pour un chroot nommé “sid-snapshot”
       (c'est-à-dire avec “chroot:sid-snapshot” comme nom complet  qualifié), il y aura également
       un  chroot  source  nommé  “source:sid-snapshot”.  Les  versions  précédentes  de  schroot
       fournissent des chroots source avec un suffixe  ‘-source’.  Ces  suffixes  sont  également
       fournis   à   des   fins   de   compatibilité.   Dans   notre  exemple  il  serait  appelé
       “chroot:sid-snapshot-source”. Cette dénomination de compatibilité sera abandonnée dans une
       version  future,  les programmes et les scripts devraient donc être modifiés pour utiliser
       des noms utilisant les espaces de noms au lieu des vieux suffixes.

   Chroots session
       Toute session créée avec  l'option  --begin-session  est  placée  dans  l'espace  de  noms
       ‘session:’. Une session nommée avec --session-name peut avoir différents noms, même un nom
       identique au chroot à partir duquel elle a été créée, à condition qu'il soit  unique  dans
       l'espace  de  noms.  Cela  n'était pas permis dans les versions précédentes de schroot qui
       n'avaient pas d'espaces de noms.

   Actions et espaces de noms par défaut
       Toutes les actions utilisent ‘chroot:’ comme espace de  noms  par  défaut,  avec  quelques
       exceptions pour des actions de sessions. --run-session, --recover-session et --end-session
       utilisent ‘session:’ comme espace de noms par défaut, car ces  actions  agissent  sur  les
       chroots  session.  Le  résultat  est que l'espace de noms n'est normalement jamais requis,
       sauf quand vous avez besoin de travailler avec un chroot dans un espace de noms  différent
       de  celui  par  défaut,  comme  lorsque vous utilisez un chroot source. Pour effectuer une
       sélection de chroot sans ambigüité, il est toujours possible  d'utiliser  le  nom  complet
       incluant l'espace de noms, même quand cela n'est pas strictement nécessaire.

PERFORMANCES

       Les performances sur certains systèmes de fichiers, par exemple Btrfs, sont mauvaises lors
       de l'utilisation de dpkg à cause de la quantité d'opérations fsync à effectuer. Cela  peut
       être  limité  par l'installation du paquet eatmydata et ensuite par l'ajout de eatmydata à
       la clé de configuration command-prefix, ce qui désactivera toutes  les  opérations  fsync.
       Notez  que  cela  ne  doit être effectué que dans les chroots d'instantanés où la perte de
       données n'est pas un problème. C'est utile lors de  l'utilisation  d'un  chroot  pour  une
       construction de paquets, par exemple.

RÉPERTOIRES DE SUBSTITUTION

       Schroot  sélectionnera  un  répertoire  approprié à utiliser à l'intérieur du chroot si un
       interpréteur de commande de connexion est utilisé ou une commande exécutée et également si
       l'option  --directory  est  utilisée.  Dans le cas de l'exécution directe ou en spécifiant
       explicitement un répertoire, seulement un répertoire sera utilisé par mesure  de  sécurité
       et  de  cohérence,  alors  que  pour  un  interpréteur  de commande de connexion plusieurs
       possibilités  peuvent  être  testées.  La  sous-section  suivante  liste  la  séquence  de
       substitution  pour  chaque  cas.  CWD  est  le  répertoire  de travail courant, DIR est le
       répertoire spécifié par --directory.

   Interpréteur de commande de connexion
       ┌────────────────────┬──────────────────────────────────────────┐
       │Transition          │                                          │
       │(Hôte → Chroot)     │ Commentaire                              │
       ├────────────────────┼──────────────────────────────────────────┤
       │CWD → CWD           │ Comportement  normal   (si   --directory │
       │                    │ n'est pas utilisé)                       │
       │CWD → $HOME         │ Si      CWD      n'existe     pas     et │
       │                    │ --preserve-environment est utilisé       │
       │CWD → passwd pw_dir │ Si     CWD     n'existe     pas      (ou │
       │                    │ --preserve-environment  est  utilisé  et │
       │                    │ aucun $HOME n'existe)                    │
       │CWD → /             │ Aucun des répertoires ci-dessus n'existe │
       │FAIL                │ Si / n'existe pas                        │
       └────────────────────┴──────────────────────────────────────────┘
   Commande
       ┌────────────────┬──────────────────────────────────────────┐
       │Transition      │                                          │
       │(Hôte → Chroot) │ Commentaire                              │
       ├────────────────┼──────────────────────────────────────────┤
       │CWD → CWD       │ Comportement  normal   (si   --directory │
       │                │ n'est pas utilisé)                       │
       │FAIL            │ Si CWD n'existe pas                      │
       └────────────────┴──────────────────────────────────────────┘
       Aucune solution de repli ne devrait exister en toute circonstance.

   utilisation de --directory
       ┌────────────────┬──────────────────────────────────────────┐
       │Transition      │                                          │
       │(Hôte → Chroot) │ Commentaire                              │
       ├────────────────┼──────────────────────────────────────────┤
       │CWD → DIR       │ Comportement normal                      │
       │FAIL            │ Si CWD n'existe pas                      │
       └────────────────┴──────────────────────────────────────────┘
       Aucune solution de repli ne devrait exister en toute circonstance.

   Débogage
       Notez que --debug=notice affichera la liste interne des répertoires de repli calculée pour
       la session.

EXEMPLES

   Lister les chroots disponibles
       % schroot -l↵
       chroot:default
       chroot:etch
       chroot:sid
       chroot:testing
       chroot:unstable

   Récupérer les informations d'un chroot
       % schroot -i -c sid↵
         ——— Chroot ———
         Name                   sid
         Description            Debian sid (unstable)
         Type                   plain
         Priority               3
         Users                  rleigh
         Groups                 sbuild
         Root Users
         Root Groups            sbuild
         Aliases                unstable unstable-sbuild unstable-p
       owerpc-sbuild
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux32
         Location               /srv/chroot/sid

       Utilisez --all  ou  -c  plusieurs  fois  pour  utiliser  plusieurs  ou  tous  les  chroots
       respectivement.

   Exécuter des commandes dans un chroot
       % schroot -c sid /bin/ls↵
       [sid chroot] Running command: “/bin/ls”
       CVS          sbuild-chroot.c   sbuild-session.h  schroot.conf.5
       Makefile     sbuild-chroot.h   schroot.1         schroot.conf.5.in
       Makefile.am  sbuild-config.c   schroot.1.in
       Makefile.in  sbuild-config.h   schroot.c
       pam          sbuild-session.c  schroot.conf
       % schroot -c sid -- ls -1 | head -n 5↵
       [sid chroot] Running command: “ls -1”
       ABOUT-NLS
       AUTHORS
       COPYING
       ChangeLog
       INSTALL

       Utilisez  --  pour  autoriser  les  options  débutant  avec ‘-’ ou ‘--’ pour la commande à
       exécuter dans le chroot. Cela empêche qu'elles soient interprétées en tant  qu'options  de
       schroot.  Notez que la première ligne a été affichée sur l'erreur standard et le reste sur
       la sortie standard. C'est intentionnel, pour que la sortie du programme  exécuté  dans  le
       chroot  puisse  être redirigée à l'aide d'un pipe si besoin ; les données seront les mêmes
       que si la commande était exécutée directement sur le système hôte.

   Changer d'utilisateur
       % schroot -c sid -u root↵
       Password:
       [sid chroot] (rleigh→root) Running login shell: “/bin/bash”
       #

       Si l'utilisateur ‘rleigh’ était dans root-users de /etc/schroot/schroot.conf,  ou  un  des
       groupes  auxquels il appartient était dans root-groups, un accès root lui sera fourni sans
       authentification, mais l'étape d'autorisation PAM est toujours appliquée.

   Sessions
       Un chroot peut être nécessaire pour exécuter plus d'une commande. En particulier, quand le
       chroot est créé à la volée à partir d'un volume logique LVM ou d'un fichier sur le disque,
       il est nécessaire de rendre le chroot persistant pendant qu'une tâche donnée (ou un jeu de
       tâches)  est  exécutée.  Les sessions existent pour cette raison. Pour les chroots de type
       simple comme ‘plain’ et ‘directory’, des sessions peuvent être créées  mais  ne  sont  pas
       strictement nécessaires.

       Commençons par examiner un chroot capable d'utiliser des sessions :

       % schroot -i -c sid-snap↵
         ——— Chroot ———
         Name                   sid-snap
         Description            Debian sid snapshot
         Type                   lvm-snapshot
         Priority               3
         Users                  maks rleigh
         Groups                 sbuild
         Root Users
         Root Groups            root sbuild
         Aliases
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux
         Device                 /dev/hda_vg/sid_chroot
         Mount Options          -o atime,async,user_xattr
         Source Users
         Source Groups          root rleigh
         Source Root Users
         Source Root Groups     root rleigh
         LVM Snapshot Options   --size 2G -c 128

       Notez  que l'option Session Managed est définie à ‘true’. Cela est requis pour utiliser le
       gestionnaire de session et est pris en charge par la plupart des types de chroot.  Ensuite
       nous allons créer une nouvelle session :

       % schroot -b -c sid-snap↵
       sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

       L'identifiant  de  session  de  la  session  nouvellement  créée est renvoyé sur la sortie
       standard. Il est habituel de le conserver comme ceci :

       % SESSION=$(schroot -b -c sid-snap)↵
       % echo $SESSION↵
       sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f

       La session peut être utilisée comme n'importe quel  chroot.  Voici  à  quoi  ressemble  la
       session :

       % schroot -i -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
         ——— Session ———
         Name                   sid-snap-46195b04-0893-49bf-beb8-0d\
       4ccc899f0f
         Description            Debian sid snapshot
         Type                   lvm-snapshot
         Priority               3
         Users                  maks rleigh
         Groups                 sbuild
         Root Users
         Root Groups            root sbuild
         Aliases
         Environment Filter     ^(BASH_ENV|CDPATH|ENV|HOSTALIASES|I\
       FS|KRB5_CONFIG|KRBCONFDIR|KRBTKFILE|KRB_CONF|LD_.*|LOCALDOMA\
       IN|NLSPATH|PATH_LOCALE|RES_OPTIONS|TERMINFO|TERMINFO_DIRS|TE\
       RMPATH)$
         Run Setup Scripts      true
         Script Configuration   script-defaults
         Session Managed        true
         Personality            linux
         Mount Location         /var/lib/schroot/mount/sid-snap-461\
       95b04-0893-49bf-beb8-0d4ccc899f0f
         Path                   /var/lib/schroot/mount/sid-snap-461\
       95b04-0893-49bf-beb8-0d4ccc899f0f
         Mount Device           /dev/hda_vg/sid-snap-46195b04-0893-\
       49bf-beb8-0d4ccc899f0f
         Device                 /dev/hda_vg/sid_chroot
         Mount Options          -o atime,async,user_xattr
         Source Users
         Source Groups          root rleigh
         Source Root Users
         Source Root Groups     root rleigh
         LVM Snapshot Device    /dev/hda_vg/sid-snap-46195b04-0893-\
       49bf-beb8-0d4ccc899f0f
         LVM Snapshot Options   --size 2G -c 128

       Maintenant  que  la  session  a  été créée, il est possible d'exécuter des commandes comme
       ceci :

       % schroot -r -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f -- \
         uname -sr↵
       I: [sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f chroot] Running \
       command: “uname -sr”
       Linux 2.6.18-3-powerpc
       % schroot -r -c $SESSION -- uname -sr↵
       I: [sid-snap-fe170af9-d9be-4800-b1bd-de275858b938 chroot] Running \
       command: “uname -sr”
       Linux 2.6.18-3-powerpc

       Quand toutes les commandes à exécuter dans la session ont été effectuées, la session  peut
       être terminée :

       % schroot -e -c sid-snap-46195b04-0893-49bf-beb8-0d4ccc899f0f↵
       % schroot -e -c $SESSION↵

       Finalement,  les  noms  de  session  peuvent être longs et peu maniables. Un nom peut être
       spécifié à la place de l'identifiant de session généré automatiquement :

       % schroot -b -c sid-snap -n mon-nom-session↵
       mon-nom-session

DÉPANNAGES

       Si quelque chose ne fonctionne pas, et qu'il n'est pas facile de déterminer ce qui  ne  va
       pas  à  partir  des  messages  d'erreur, vous pouvez utiliser l'option --debug=niveau pour
       activer les messages de débogage. Cela donnera un plus grand  nombre  d'informations.  Les
       niveaux  de  débogage  valables sont ‘none’, ‘notice’, ‘info’, ‘warning’ et ‘critical’ par
       ordre croissant de sévérité. Plus le niveau de sévérité est faible, plus il y a de sortie.

       Si vous avez toujours des problèmes, les développeurs peuvent être contactés sur la  liste
       de diffusion (en anglais) :
       Debian buildd-tools Developers
       <buildd-tools-devel@lists.alioth.debian.org>

BOGUES

       Sur les architectures mips et mipsel, les noyaux Linux, jusqu'à la version 2.6.17 incluse,
       ont une prise en charge cassée des personality(2), qui a pour conséquence un échec  de  la
       mise  en  place  des  personnalités.  Cela  se  manifeste  par  une  erreur “Operation not
       permitted” (EPERM). Pour contourner ce problème, définissez personality à  ‘undefined’  ou
       mettez à niveau votre noyau vers une version plus récente.

ENVIRONNEMENT

       Par  défaut, l'environnement n'est pas préservé et les variables d'environnement suivantes
       sont définies : HOME, LOGNAME, PATH, SHELL, TERM (préservée si déjà  spécifiée)  et  USER.
       Les variables d'environnement SCHROOT_COMMAND, SCHROOT_USER, SCHROOT_GROUP, SCHROOT_UID et
       SCHROOT_GID sont définies à l'intérieur du chroot spécifiant  respectivement  la  commande
       exécutée,  le  nom  d'utilisateur,  le  nom  de  groupe, l'identifiant de l'utilisateur et
       l'identifiant du  groupe.  En  plus,  les  variables  d'environnement  SCHROOT_SESSION_ID,
       SCHROOT_CHROOT_NAME  et  SCHROOT_ALIAS_NAME  définissent  respectivement  l'identifiant de
       session, le nom de chroot d'origine avant la création de la  session  et  l'alias  utilisé
       pour identifier le chroot d'origine sélectionné.

       Les  variables  d'environnement,  potentiellement dangereuses, suivantes sont retirées par
       défaut  pour  des  raisons  de  sécurité :  BASH_ENV,  CDPATH,  ENV,   HOSTALIASES,   IFS,
       KRB5_CONFIG,  KRBCONFDIR,  KRBTKFILE,  KRB_CONF, LD_.*, LOCALDOMAIN, NLSPATH, PATH_LOCALE,
       RES_OPTIONS, TERMINFO, TERMINFO_DIRS, et TERMPATH. Si nécessaire, la clé de  configuration
       environment-filter  permettra  de modifier la liste d'exclusion. Consultez schroot.conf(5)
       pour plus de détails.

FICHIERS

   Fichiers de configuration
       /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. Notez que les
              fichiers de ce répertoire suivent les mêmes règles de dénomination que run-parts(8)
              lorsqu'ils sont exécutés avec l'option --lsbsysinit.

       /etc/schroot/setup.d
              Le  répertoire  de  scripts  de mise en place de chroot pour l'ensemble du système.
              Consultez schroot-setup(5).

       /etc/pam.d/schroot
              Configuration de PAM.

   Répertoires systèmes
       /usr/lib/x86_64-linux-gnu/schroot
              Répertoire contenant les programmes d'assistance utilisés par les scripts  de  mise
              en place.

   Répertoires de sessions
       Chaque répertoire contient un répertoire ou un fichier avec le nom de chaque session. Tous
       les types de chroot n'utilisent pas tous les répertoires ci-dessous.

       /var/lib/schroot/session
              Répertoire contenant la configuration de session pour chaque session active.

       /var/run/schroot/mount
              Répertoire utilisé pour monter le système de fichiers utilisé pour  chaque  session
              active.

       /var/lib/schroot/union/underlay
              Répertoire utilisé comme source d'union de systèmes de fichiers (sous-couche).

       /var/lib/schroot/union/overlay
              Répertoire  utilisé  comme  sur-couche  inscriptible  pour  l'union  de systèmes de
              fichiers.

       /var/lib/schroot/unpack
              Répertoire utilisé pour le dépaquetage de chroots de fichiers.

AUTEURS

       Roger Leigh.

COPYRIGHT

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

       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

       dchroot(1),  sbuild(1),  chroot(2),  schroot.conf(5),  schroot-setup(5),   schroot-faq(7),
       run-parts(8).