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)