Provided by: manpages-es-dev_4.18.1-1_all bug

NOMBRE

       chroot - cambia el directorio raíz

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #include <unistd.h>

       int chroot(const char *ruta);

   Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

       chroot():
           Since glibc 2.2.2:
               _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
                   || /* Since glibc 2.20: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE
           Before glibc 2.2.2:
               none

DESCRIPCIÓN

       chroot()  cambia  el  directorio raíz al definido en ruta. Este directorio será usado como
       raíz para aquellos nombres de ruta que comiencen por /. El directorio raíz es heredado por
       todos los descendientes del proceso actual.

       Sólo los procesos privilegiados (en Linux serán aquello con la capacidad CAP_SYS_CHROOT en
       su espacio de nombre de usuario) puede invocar chroot().

       This call changes an ingredient in the pathname resolution process and does nothing  else.
       In  particular, it is not intended to be used for any kind of security purpose, neither to
       fully sandbox a process nor to restrict filesystem system calls.  In  the  past,  chroot()
       has  been  used  by  daemons  to  restrict  themselves  prior to passing paths supplied by
       untrusted users to system calls such as open(2).  However, if a folder is moved out of the
       chroot directory, an attacker can exploit that to get out of the chroot directory as well.
       The easiest way to do that is to chdir(2)  to the to-be-moved directory, wait for it to be
       moved out, then open a path like ../../../etc/passwd.

       A  slightly  trickier  variation  also  works under some circumstances if chdir(2)  is not
       permitted.  If a daemon allows a "chroot directory" to be specified,  that  usually  means
       that  if  you  want  to  prevent  remote  users  from  accessing  files outside the chroot
       directory, you must ensure that folders are never moved out of it.

       Esta llamada no cambia el directorio de trabajo actual, por lo que el directorio '.' puede
       estar  fuera  del árbol enraizado en '/'. En particular, el administrador puede escapar de
       una "prisión chroot" ejecutando:

           mkdir foo; chroot foo; cd ..

       This call does not close open file descriptors, and such file descriptors may allow access
       to files outside the chroot tree.

VALOR DEVUELTO

       En  caso  de éxito se devuelve cero. En caso de error se devuelve -1, y errno se configura
       para indicar el error.

ERRORES

       Según el sistema de ficheros, se pueden obtener otros errores. Los errores más comunes  se
       listan a continuación:

       EACCES Search  permission  is  denied  on  a  component  of  the  path  prefix.  (See also
              path_resolution(7).)

       EFAULT path apunta fuera de su espacio de direcciones accesibles.

       EIO    Ocurrió un error de E/S.

       ELOOP  Se encontraron demasiados enlaces simbólicos al resolver path.

       ENAMETOOLONG
              path es demasiado largo.

       ENOENT El fichero no existe.

       ENOMEM No hay disponible suficiente memoria del núcleo.

       ENOTDIR
              Un componente del camino path no es un directorio.

       EPERM  The caller has insufficient privilege.

ESTÁNDARES

       SVr4, 4.4BSD, SUSv2 (marked LEGACY).  This function is not part of POSIX.1-2001.

NOTAS

       A child process created via fork(2)  inherits  its  parent's  root  directory.   The  root
       directory is left unchanged by execve(2).

       The  magic  symbolic  link,  /proc/[pid]/root,  can  be  used to discover a process's root
       directory; see proc(5)  for details.

       FreeBSD has a stronger jail()  system call.

VÉASE TAMBIÉN

       chroot(1), chdir(2), pivot_root(2), path_resolution(7), switch_root(8)

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Miguel  Angel  Sepulveda
       <angel@vivaldi.princeton.edu>,  Juan  Piernas  <piernas@ditec.um.es>,  Miguel  Pérez Ibars
       <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre; lea  la  GNU  General  Public  License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o posterior con respecto a las condiciones de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si encuentra algún error en la traducción de esta  página  del  manual,  envíe  un  correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.