.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH chroot 2 "17 Mayo 2025" "Páginas de Manual de Linux 6.15" .SH NOMBRE chroot \- cambia el directorio raíz .SH BIBLIOTECA Biblioteca Estándar C (\fIlibc\fP,\ \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint chroot(const char *\fP\fIruta\fP\fB);\fP .fi .P .RS -4 Requisitos de Macros de Prueba de Características para glibc (véase \fBfeature_test_macros\fP(7)): .RE .P \fBchroot\fP(): .nf A partir de glibc 2.2.2: _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L) || /* A partir de glibc 2.20: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE Antes de glibc 2.2.2: ninguno .fi .SH DESCRIPCIÓN \fBchroot\fP() cambia el directorio raíz al definido en \fIruta\fP. 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. .P Sólo los procesos privilegiados (en Linux serán aquello con la capacidad \fBCAP_SYS_CHROOT\fP en su espacio de nombre de usuario) puede invocar \fBchroot\fP(). .P Esta llamada modifica un componente del proceso de resolución de rutas de acceso y no realiza ninguna otra acción. En particular, no está diseñada para fines de seguridad, ni para aislar completamente un proceso ni para restringir las llamadas al sistema de archivos. Anteriormente, los «demonios» utilizaban \fBchroot\fP() para restringirse antes de pasar las rutas proporcionadas por usuarios no confiables a llamadas del sistema como \fBopen\fP(2). Sin embargo, si una carpeta se mueve fuera del directorio chroot, un atacante puede aprovechar esta situación para salir también de él. La forma más sencilla de hacerlo es usar \fBchdir\fP(2) para ir al directorio que se va a mover, esperar a que se mueva y abrir una ruta como \&../../../etc/passwd. .P .\" This is how the "slightly trickier variation" works: .\" https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-014-2015.txt#L142 Una variante algo más compleja también funciona en ciertas circunstancias si no se permite \fBchdir\fP(2). Si un demonio permite indicar un directorio raíz, esto generalmente significa que, si desea evitar que usuarios remotos accedan a archivos fuera del directorio raíz, deberá asegurarse de que las carpetas nunca se muevan fuera de él. .P Esta llamada no cambia el directorio de trabajo actual, por lo que el directorio \[aq]\fI.\fP\[aq] puede estar fuera del árbol enraizado en \[aq]\fI/\fP\[aq]. En particular, el administrador puede escapar de una "prisión chroot" ejecutando: .P .in +4n .EX mkdir foo; chroot foo; cd .. .EE .in .P Esta llamada no cierra los descriptores de archivo abiertos, y dichos descriptores podrán permitir el acceso a archivos fuera del árbol raíz. .SH "VALOR DEVUELTO" En caso de éxito se devuelve cero. En caso de error se devuelve \-1, y \fIerrno\fP se configura para indicar el error. .SH ERRORES Según el sistema de ficheros, se pueden obtener otros errores. Los errores más comunes se listan a continuación: .TP \fBEACCES\fP .\" Also search permission is required on the final component, .\" maybe just to guarantee that it is a directory? Se deniega el permiso de búsqueda en un componente del prefijo de ruta. (Véase también \fBpath_resolution\fP(7).) .TP \fBEFAULT\fP \fIpath\fP apunta fuera de su espacio de direcciones accesibles. .TP \fBEIO\fP Ocurrió un error de E/S. .TP \fBELOOP\fP Se encontraron demasiados enlaces simbólicos al resolver \fIpath\fP. .TP \fBENAMETOOLONG\fP \fIpath\fP es demasiado largo. .TP \fBENOENT\fP El fichero no existe. .TP \fBENOMEM\fP No hay disponible suficiente memoria del núcleo. .TP \fBENOTDIR\fP Un componente del camino \fIpath\fP no es un directorio. .TP \fBEPERM\fP El invocador no tiene suficientes privilegios. .SH ESTÁNDARES Ninguno. .SH HISTORIAL .\" SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions. .\" X/OPEN does not document EIO, ENOMEM or EFAULT error conditions. SVr4, 4.4BSD, SUSv2 (marcado como LEGADO). Esta función no forma parte de POSIX.1\-2001. .SH NOTAS Un proceso hijo creado mediante \fBfork\fP(2) hereda el directorio raíz de su progenitor. \fBexecve\fP(2) no modifica el directorio raíz. .P El enlace simbólico mágico, \fI/proc/\fPpid\fI/root\fP, puede utilizarse para descubrir el directorio raíz de un proceso. Consulte \fBproc\fP(5) para obtener más información. .P FreeBSD cuenta con la llamada \fBjail\fP() más robusta. .SH "VÉASE TAMBIÉN" \fBchroot\fP(1), \fBchdir\fP(2), \fBpivot_root\fP(2), \fBpath_resolution\fP(7), \fBswitch_root\fP(8) .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Miguel Angel Sepulveda , Juan Piernas , Miguel Pérez Ibars y Marcos Fouces . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .