Provided by: manpages-fr-dev_3.65d1p1-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 indiqué 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.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <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> ».