Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       chroot - Modifier le répertoire racine

SYNOPSIS

       #include <unistd.h>

       int chroot(const char *path);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       chroot() :
           Depuis la glibc 2.2.2 :
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
           Avant la glibc 2.2.2 : aucune

DESCRIPTION

       chroot() remplace le répertoire racine du processus appelant par  celui  spécifié  par  le
       chemin  path.  Ce  répertoire  sera utilisé comme origine des chemins commençant par /. Le
       répertoire racine est hérité par tous les enfants du processus appelant.

       Seul un processus privilégié (sous Linux : un processus ayant la capacité  CAP_SYS_CHROOT)
       peut appeler chroot().

       Cette  fonction change un des ingrédients de l'algorithme de résolution des chemins, et ne
       modifie rien d'autre.

       Notez que cet appel système ne modifie pas le répertoire de travail, aussi « . »  peut  se
       retrouver   en‐dehors   de   l'arbre   dont  la  racine  est  « / ».  En  particulier,  le
       superutilisateur peut s'évader d'un « piège chroot » en faisant :

           mkdir foo; chroot foo; cd ..

       Cet appel ne ferme aucun descripteur de fichier, et de tels descripteurs peuvent permettre
       un accès à des fichiers hors de l'arbre dont la racine est le nouveau « / ».

VALEUR RENVOYÉE

       S'il  réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en
       conséquence.

ERREURS

       Suivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées. Les plus
       courantes sont les suivantes :

       EACCES L'accès à un élément du chemin est interdit. (Voir aussi path_resolution(7).)

       EFAULT path pointe en dehors de l'espace d'adressage accessible.

       EIO    Une erreur d'entrée-sortie s'est produite.

       ELOOP  path contient une référence circulaire (à travers un lien symbolique)

       ENAMETOOLONG
              path est trop long.

       ENOENT Le fichier n'existe pas.

       ENOMEM Pas assez de mémoire pour le noyau.

       ENOTDIR
              Un élément du chemin d'accès path n'est pas un répertoire.

       EPERM  L'appelant n'a pas les privilèges suffisants.

CONFORMITÉ

       SVr4,  BSD 4.4,  SUSv2 (considéré comme historique). Cette fonction n'est pas décrite dans
       POSIX.1-2001.

NOTES

       Un processus fils créé avec fork(2) hérite du répertoire racine de son père. Le répertoire
       racine n'est pas modifié par un execve(2).

       FreeBSD a un appel système jail() plus solide.

VOIR AUSSI

       chdir(2), path_resolution(7)

COLOPHON

       Cette  page  fait partie de la publication 3.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction  francophone  au  sein  du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL:http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».