Provided by: manpages-es-dev_4.21.0-2_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  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.

Páginas de manual de Linux 6.03                  5 Febrero 2023                                        chroot(2)