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