meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| linux:chroot [282010/02/ 22:42] – lc | linux:chroot [182023/01/ 13:10] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | {{tag> chroot }} | ||
| + | ====== Chroot ====== | ||
| + | El chroot permite ejecutar procesos con la raíz del sistema cambiada. De manera que es posible usar diferentes instalaciones dentro de una misma . | ||
| + | |||
| + | Se gana cierto de nivel de seguridad, ya que los procesos dentro del chroot no ven nada fuera de él | ||
| + | |||
| + | * chroot ./ cambia la raíz de ejecución, para salir exit o ctrl+ d | ||
| + | * para poder ver otros directorios desde el fuera del chroot ejecutamos mount –o bind /dev/ dev/ | ||
| + | * Si queremos dejarlo fijo editamos el fichero etc/fstab y añadimos | ||
| + | < | ||
| + | * Para ver los procesos que se están ejecutando en el chroot: | ||
| + | < | ||
| + | * Si al arrancar los servicios no dice ok en la parte derecha, es que estamos arrancado los servicios dentro del chroot | ||
| + | ===== Montar directorios de fuera ===== | ||
| + | |||
| + | Algunos programas, como apache, necesitan ciertos directorios del sistema para poder arrancar. Los principales son /proc y /dev. Para hacer que esos directorios se vean dentro del chroot se puede usar bind. | ||
| + | |||
| + | ==== Para montarlo manualmente ==== | ||
| + | |||
| + | * mount -o bind /dev / | ||
| + | * mount -o bind /proc / | ||
| + | |||
| + | Para dejarlo permanente (es decir, que se monte él solo cuando la máquina reinicia) hay que meter las líneas en el / | ||
| + | < | ||
| + | /dev / | ||
| + | |||
| + | ===== Arrancar procesos dentro del chroot ===== | ||
| + | Para entrar en el chroot con una shell normal, basta poner | ||
| + | < | ||
| + | |||
| + | Si queremos arrancar algún proceso dentro del chroot, sin tener que entrar en él (útil para scripts), hay que añadir la orden a ejecutar al final de la orden anterior | ||
| + | < | ||
| + | Por ejemplo | ||
| + | < | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | ==== Servicios | ||
| + | |||
| + | Hay que tener en cuenta que si hay otro postgres o apache ejecutándose en la misma máquina hay que asegurarse de que no se pisan los puertos de escucha. | ||
| + | Para arrancar cualquiera de los servicios | ||
| + | < | ||
| + | | ||
| + | | ||
| + | chroot / | ||
| + | </ | ||
| + | |||
| + | === Arranque automático === | ||
| + | Si sólo hacemos esto, no se arrancarán ellos solos cada vez que se reinicie la máquina. | ||
| + | Para conseguir que se arranquen automáticamente hay que: | ||
| + | hacer dos scripts (uno para cada servicio) y añadirlos al / | ||
| + | |||
| + | Por ejemplo | ||
| + | Los scripts serían / | ||
| + | apache_chroot | ||
| + | < | ||
| + | # | ||
| + | | ||
| + | postgresql_chroot </ | ||
| + | < | ||
| + | | ||
| + | samba_chroot </ | ||
| + | < | ||
| + | | ||
| + | |||
| + | Lo único que hacen estos scripts es pasarle la orden que le manda el sistema (que puede ser start, stop, restart, etc) al servicio dentro del chroot. | ||
| + | Una vez que están creados hay que darles permiso de ejecución (chmod +x) y luego añadirlos al sistema de arranque con update-rc.d | ||
| + | < | ||
| + | < | ||
| + | # update-rc.d samba_chroot defaults</ | ||
| + | |||
| + | |||
| + | ===== JAILKIT ===== | ||
| + | Existe otra forma de hacer un chroot con el paquete jailki | ||
| + | |||
| + | http:// | ||
| + | |||
| + | ===== Referencias ===== | ||
| + | Referencia http:// | ||