Manpages

NOMBRE

chroot − cambia el directorio raíz.

SINOPSIS

#include <unistd.h>

int chroot(const char *path);

DESCRIPCIÓN

chroot cambia el directorio raíz a aquel especificado en path. Este directorio será usado como raíz para aquellos nombres de camino que comiencen por /. El directorio raíz es heredado por todos los descendientes del proceso actual.

Solamente el superusuario puede cambiar el directorio raíz.

Note que esta llamada no cambia el directorio de trabajo actual, por lo que el directorio ’.’ puede estar fuera del árbol enraizado en ’/’. En particular, el super-usuario puede escapar de una ’prisión chroot’ haciendo ’mkdir foo; chroot foo; cd ..’.

VALOR DEVUELTO

En caso de éxito 0, si hay algún error, −1, y a la variable errno se le asigna un valor adecuado.

ERRORES

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

EPERM

El UID efectivo no es 0.

EFAULT

path apunta fuera de su espacio de direcciones accesibles.

ENAMETOOLONG

path es demasiado largo.

ENOENT

El fichero no existe.

ENOMEM

No había suficiente memoria disponible en el núcleo.

ENOTDIR

Un componente del camino path no es un directorio.

EACCES

Permiso de búsqueda denegado en uno de los componentes del camino path.

ELOOP

Se encontraron demasiados enlaces simbólicos al resolver path.

EIO

Ocurrió un error de E/S.

CONFORME A

SVr4, SVID, 4.4BSD y X/OPEN. Esta función no es parte de POSIX.1. SVr4 documenta además las condiciones de error EINTR, ENOLINK y EMULTIHOP. X/OPEN no documenta las condiciones de error EIO, ENOMEM ni EFAULT. Esta interfaz es clasificada por X/OPEN como legado.

VÉASE TAMBIÉN

chdir(2)