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