-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola!
> Bueno he leido un poco sobre el tema, y creo que voy entendiendo, pero de
> que depende el poder poner un proceso en una jaula, de la programacion del
> proceso?? esto no lo tengo muy claro.
>
> Imaginemos que se monta un ftp en una jaula para actualizar pagina en el
> servidor, tambien apache deberia correr en la misma jaula??
>
> Gracias de antemano.

Vale, digamos que s�lo quieres el ftp para subir las p�ginas (o sea, los 
ficheros) al servidor. Vamos a tracear qu� es lo que sucede. Voy poniendo a 
modo de ejemplo el PID (n� de proceso en el kernel) de algunos procesos 
interesantes, a cada paso que vamos dando:

Arranca la m�quina:
2000 Apache [/]
2001 ftpd [/]

Alguien se conecta por ftp:
2000 Apache [/]
2001 ftpd [/]
2002 ftpd-spawn [/]

El proceso que sirve al usuario de ftp hace chroot:
2000 Apache [/]
2001 ftpd [/]
2003 ftpd-spawn [/home/ftp/usuario/]

El usuario acaba de usar ftp:
2000 Apache [/]
2001 ftpd [/]

O sea, en otras palabras, el chroot s�lo afecta al proceso en curso, y a 
ning�n otro (al proceso en curso y a sus descendientes). Se resume como hacer 
un "mount /home/ftp/usuario /" para ese proceso y sus descendientes.
Para una informaci�n detallada puedes mirarte la documentaci�n de algunas 
llamadas de sistema, como fork chroot execvp exec... etc, y as� sabr�s qu� es 
lo que est� haciendo realmente el kernel.
Entre otras cosas, si en el nuevo �rbol de directorios (creado con chroot) no 
montas /proc, algunos procesos no pueden funcionar (top, etc).

Y ya por �ltimo, un ejemplo de uso del chroot:
Digamos que te quieres instalar una distribuci�n de linux (sea Gentoo, por 
ejemplo), pero sin tocar para nada tu querida debian. Arrancas en debian, 
creas un directorio /mnt/gentoo, montas una partici�n ah�, montas proc como 
"mount -t proc proc /mnt/gentoo/proc" y haces un CHROOT al directorio: 
"chroot /mnt/gentoo /bin/bash". Desde entonces estar�s ejecutando todos los 
programas de tu nueva distribuci�n gentoo, y nunca m�s los de debian. 
Obviamente en otras terminales que tengas libres sigues accediendo a tu 
debian sin problema.
Bueno, si te lias, olvida el ejemplo de la distribuci�n instalada (el �ltimo 
parr�fo). S� que me explico como el culo, por eso me ha salido este peacho de 
emilio, s�lo espero que te sirva de ayuda. Recuerda mirar el manual de la 
llamada de sistema (man 2 chroot)
Un saludo,
- -- 
         Juan �ngel
PGP key on pgp.rediris.es (8FAF18B7)
or search on http://www.rediris.es/cert/servicios/keyserver/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE+7GZGaQjbS4+vGLcRAiRlAJ4rLUq50uwr346hVls2R1IpjpMTMQCfSnlq
hJ4J9m6i/NFr3vOV1nE62QQ=
=8l9B
-----END PGP SIGNATURE-----

Responder a