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.
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)