GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo realizar la instalación chroot de Debian

En este tutorial nos ocuparemos específicamente del entorno Debian Chroot. Ejecutar un sistema Linux dentro de un entorno chroot le permite al administrador del sistema disminuir el impacto en un servidor de producción cuando el servidor se ve comprometido.

Cambiar raíz cambiará el directorio raíz a todos los procesos actualmente en ejecución y sus hijos a una cárcel chroot. La prueba de varias instalaciones de paquetes y la configuración del servidor en un entorno chroot puede ser otra forma práctica de utilizar una cárcel chroot.

En este tutorial, cubriremos las instrucciones paso a paso para configurar chroot en Debian Linux. Las instrucciones también funcionarán para otros sistemas basados ​​en Debian.

En este tutorial aprenderás:

  • Cómo instalar Debootstrap
  • Cómo configurar chroot en Debian Linux
  • Cómo usar SSH en chroot jail

Instalar la correa de arranque


Lo primero que deberemos hacer es instalar el debootstrap paquete en Debian. Este software nos permitirá crear un entorno chroot. Use el siguiente comando para instalar el paquete con el administrador de paquetes de Debian.

$ sudo apt update
$ sudo apt install debootstrap

Instalar entorno chroot

Ahora es el momento de instalar el entorno chroot. Siga los pasos a continuación para configurarlo.

  1. Primero, cree un directorio donde le gustaría que residiera el entorno chroot. Lo mantendremos simple e iremos con /mnt/chroot en este tutorial.
    $ sudo mkdir -p /mnt/chroot
    
  2. Una vez que su nuevo directorio chroot esté listo, usaremos debootstrap para instalar nuevos archivos del sistema Debian dentro del entorno chroot. La instalación puede tardar algún tiempo, ya que debootstrap tendrá que descargar e instalar los paquetes principales.
    $ sudo debootstrap stable /mnt/chroot http://deb.debian.org/debian/
    

    Verá una gran cantidad de resultados en su terminal, pero debería terminar con el texto "I:El sistema base se instaló correctamente", lo que significa que ha finalizado.

  3. Por último, conecte su sistema host proc con el entorno chroot montándolo dentro del directorio chroot. Esto permite que chroot acceda al hardware de su sistema host.
    $ sudo mount -t proc proc /mnt/chroot/proc
    $ sudo mount -t devpts devpts /mnt/chroot/dev/pts
    

Configuración de Chroot Debian

Ahora, estamos listos para iniciar sesión en chroot y realizar una configuración básica. Para evitar confusiones entre el host y el entorno chroot, podemos cambiar la variable PS1 de root a un indicador de shell a chroot# . Este paso es opcional pero recomendado.

  1. Primero, inicie sesión en chroot.
    $ sudo chroot /mnt/chroot /bin/bash --login
    
  2. Ejecute el siguiente comando de Linux para cambiar permanentemente el indicador de shell de root y salir.
    # echo 'PS1="chroot:\w# "' >> ~/.bashrc
    # exit
    
  3. La próxima vez que ingrese al entorno chroot, tendrá un nuevo indicador de shell.
    # chroot /mnt/chroot /bin/bash --login
    

  4. A continuación, instalaremos y reconfiguraremos los locales.
    chroot:/# apt install locales
    

  5. Ahora vuelva a configurar sus locales y seleccione los suyos en el menú.
    chroot:/# dpkg-reconfigure locales
    

Instalar el demonio ssh de chroot

Ahora estamos listos para instalar cualquier servicio dentro del entorno chroot. Comencemos con ssh ya que esto nos permitirá iniciar sesión en chroot usando una conexión ssh desde LAN o WAN.

  1. Instala el servidor SSH con el siguiente comando.
    chroot:/# apt install ssh
    
  2. Configure el servicio ssh en chroot para escuchar en un puerto diferente al 22, ya que lo más probable es que ya esté ocupado por su sistema host.
    chroot:/# nano /etc/ssh/sshd_config
    
  3. Y cambie la línea #Port 22 , al mismo tiempo que agrega una línea para agregar inicios de sesión raíz remotos:
    Port 2222
    PermitRootLogin yes
    

  4. Reinicie el servicio SSH para que los cambios surtan efecto.
    chroot:/# /etc/init.d/ssh restart
    Restarting OpenBSD Secure Shell server: sshd.
    
  5. Finalmente, cambie la contraseña de su usuario raíz chroot:
    chroot:/# passwd
    

Iniciar sesión de forma remota en chroot

Si todo salió bien, ahora deberíamos poder iniciar sesión en el nuevo entorno chroot usando ssh:

$ ssh root@localhost -p 2222

Ajuste fino de chroot

El demonio chroot ssh no se iniciará automáticamente cuando encienda su sistema operativo host. Por lo tanto, cree un script de shell simple para realizar esa tarea:

#!/bin/bash

mount -t devpts devpts /mnt/chroot/dev/pts
mount -t proc proc /mnt/chroot/proc
chroot  /mnt/chroot /etc/init.d/ssh start


Y como último paso, haga un enlace simbólico a /etc/rc2.d/ :

# ln -s /etc/init.d/chroot.sh /etc/rc2.d/S98chroot

Ahora debería tener un entorno chroot completamente funcional. Siéntase libre de explorar e instalar servicios adicionales.

Pensamientos finales

En este tutorial, vimos cómo instalar un entorno de Debian chroot. También aprendimos cómo iniciar sesión en el entorno chroot a través de SSH, lo que facilita su administración e instalación de paquetes para realizar pruebas. Tener un entorno chroot es una excelente manera de probar el software y mantenerlo separado de su sistema operativo host.


Debian
  1. Cómo instalar Debian 10 (Buster)

  2. Cómo instalar Python 3.9 en Debian 10

  3. Cómo instalar Memcached en Debian 10

  4. Cómo instalar TeamViewer en Debian 10

  5. Cómo instalar Anaconda Python en Debian 9

Cómo instalar Anaconda en Debian 10

Cómo instalar R en Debian 10

Cómo instalar Debian 11

Cómo instalar XAMPP en Debian 10

Cómo instalar Go en Debian 10

Cómo instalar Go en Debian

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Debian Linux
    Software arranque
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios