meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| linux:chroot [2010/02/28 23:39] – creado lc | linux:chroot [2023/01/18 14:10] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | {{tag> chroot }} | ||
| ====== 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 . | El chroot permite ejecutar procesos con la raíz del sistema cambiada. De manera que es posible usar diferentes instalaciones dentro de una misma . | ||
| Línea 10: | Línea 11: | ||
| * Para ver los procesos que se están ejecutando en el chroot: | * 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 | + | * 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 | + | ===== 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 | + | 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. |
| - | mount -o bind /dev / | + | |
| - | mount -o bind /proc / | + | ==== Para montarlo manualmente |
| + | |||
| + | * mount -o bind /dev / | ||
| + | | ||
| Para dejarlo permanente (es decir, que se monte él solo cuando la máquina reinicia) hay que meter las líneas en el / | Para dejarlo permanente (es decir, que se monte él solo cuando la máquina reinicia) hay que meter las líneas en el / | ||
| - | /proc / | + | < |
| - | /dev / | + | /dev / |
| - | Arrancar procesos dentro del chroot | + | |
| + | ===== Arrancar procesos dentro del chroot | ||
| Para entrar en el chroot con una shell normal, basta poner | 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 | 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 | ||
| - | | + | < |
| - | Servicios | + | Por ejemplo |
| - | Ahora mismo, los únicos servicios que interesa dentro del chroot | + | < |
| + | chroot | ||
| + | | ||
| + | | ||
| + | |||
| + | ==== 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. | 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 | Para arrancar cualquiera de los servicios | ||
| + | < | ||
| | | ||
| | | ||
| chroot / | chroot / | ||
| + | </ | ||
| - | Arranque automático | + | === Arranque automático |
| Si sólo hacemos esto, no se arrancarán ellos solos cada vez que se reinicie la máquina. | 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: | Para conseguir que se arranquen automáticamente hay que: | ||
| - | hacer dos scripts (uno para cada servicio) | + | hacer dos scripts (uno para cada servicio) |
| - | añadirlos al / | + | |
| + | Por ejemplo | ||
| Los scripts serían / | Los scripts serían / | ||
| apache_chroot | apache_chroot | ||
| + | < | ||
| # | # | ||
| | | ||
| - | postgresql_chroot | + | postgresql_chroot |
| - | # | + | < |
| | | ||
| - | samba_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. | 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 | 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 apache_chroot defaults | + | < |
| - | # update-rc.d postgresql_chroot defaults | + | < |
| - | # update-rc.d samba_chroot defaults | + | # update-rc.d samba_chroot defaults</ |
| + | |||
| + | |||
| + | ===== JAILKIT ===== | ||
| + | Existe otra forma de hacer un chroot con el paquete jailki | ||
| + | |||
| + | http:// | ||
| + | ===== Referencias ===== | ||
| + | Referencia http:// | ||