GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el entorno Chroot en Ubuntu 14.04

Hay muchos casos en los que puede desear aislar ciertas aplicaciones, usuarios o entornos dentro de un sistema Linux. Los diferentes sistemas operativos tienen diferentes métodos para lograr el aislamiento y, en Linux, una forma clásica es a través de un chroot. entorno.

En esta guía, le mostraremos paso a paso cómo configurar un entorno aislado usando chroot para crear una barrera entre su sistema operativo normal y un entorno contenido. Esto es principalmente útil para fines de prueba. Te enseñaremos los pasos en una instancia de Ubuntu 14.04 VPS.

La mayoría de los administradores de sistemas se beneficiarán de saber cómo lograr un entorno chroot rápido y fácil y es una habilidad valiosa para tener.

El entorno chroot

Un entorno chroot es una llamada al sistema operativo que cambiará la ubicación raíz temporalmente a una nueva carpeta. Por lo general, la concepción del sistema operativo del directorio raíz es la raíz real ubicada en "/ ". Sin embargo, con chroot , puede especificar otro directorio para que sirva como directorio de nivel superior durante la duración de un chroot.

Cualquier aplicación que se ejecute desde dentro del chroot no podrá ver el resto del sistema operativo en principio.

Ventajas del entorno Chroot

Test applications without the risk of compromising the entire host system.

-  From the security point of view, whatever happens in the chroot environment won't affect the host system (not even under root user).

-  A different operating system running in the same hardware.

Por ejemplo, le permite crear, instalar y probar software en un entorno separado de su sistema operativo normal. También podría usarse como un método para ejecutar aplicaciones de 32 bits en un entorno de 64 bits. t.

Pero si bien los entornos chroot sin duda generarán un trabajo adicional para un usuario sin privilegios, deben considerarse una función de refuerzo en lugar de una función de seguridad, lo que significa que intentan reducir la cantidad de vectores de ataque en lugar de crear una solución completa. Si necesita un aislamiento total, considere una solución más completa, como contenedores Linux, Docker, vservers, etc.

Debootstrap y Schroot

Los paquetes necesarios para configurar el entorno chroot son debootstrap y schroot , que están disponibles en el repositorio de ubuntu. El comando schroot se usa para configurar el entorno chroot.

Reinicio le permite instalar una nueva copia nueva de cualquier sistema Debian (o basado en Debian) desde un repositorio en un directorio con todos los comandos básicos y archivos binarios necesarios para ejecutar una instancia básica del sistema operativo.

El schroot permite el acceso a chroots para usuarios normales utilizando el mismo mecanismo, pero con verificación de permisos y permitiendo una configuración automatizada adicional del entorno chroot, como montar sistemas de archivos adicionales y otras tareas de configuración.

Estos son los pasos para implementar esta funcionalidad en Ubuntu 14.04 LTS:

1. Instalando los Paquetes

En primer lugar, instalaremos debootstrap y schroot en nuestro host Ubuntu 14.04 LTS.

$ sudo apt-get install debootstrap 
$ sudo apt-get install schroot

2. Configuración de Schroot

Ahora que tenemos las herramientas apropiadas, solo necesitamos especificar un directorio que queremos usar como nuestro entorno chroot. Crearemos un directorio llamado linoxide en nuestro directorio raíz para configurar chroot allí:

sudo mkdir /linoxide

Tenemos que configurar schroot para satisfacer nuestras necesidades en el archivo de configuración. Modificaremos el schroot archivo de configuración con la información que necesitamos para configurarlo.

sudo nano /etc/schroot/schroot.conf

Estamos en un sistema Ubuntu 14.04 LTS (Trusty Tahr) actualmente, pero digamos que queremos probar algunos paquetes disponibles en Ubuntu 13.10, cuyo nombre en código es "Saucy Salamander". Podemos hacerlo creando una entrada que se vea así:

[saucy]
description=Ubuntu Saucy
location=/linoxide
priority=3
users=arun
root-groups=root

Modifique los valores de los parámetros de configuración en el ejemplo anterior para que se ajusten a su sistema:

3. Instalación de Ubuntu de 32 bits con debootstrap

Debootstrap descarga e instala un sistema operativo mínimo dentro de su entorno chroot . Puede instalar cualquier distribución basada en Debian de su elección, siempre que tenga un repositorio disponible.

Arriba, colocamos el entorno chroot en el directorio /linoxide y este es el directorio raíz del entorno chroot. Entonces necesitaremos ejecutar debootstrap dentro de ese directorio que ya hemos creado:

cd /linoxide
sudo debootstrap --variant=buildd --arch amd64 saucy /linoxide/ http://archive.ubuntu.com/ubuntu/ sudo chroot /linoxide /debootstrap/debootstrap --second-stage

Puede reemplazar amd64 en --arch como i386 u otro sistema operativo bit que desee configurar disponible en el repositorio. Puede reemplazar el espejo http://archive.ubuntu.com/ubuntu/ anterior como el más cercano, puede obtener el más cercano en la página oficial de Ubuntu Mirror.

Nota: Deberá agregar --foreign arriba del comando de la 3.ª línea si elige configurar el sistema operativo de 386 bits choot en su Host Ubuntu de 64 bits como:

sudo debootstrap --variant=buildd --foreign --arch i386 saucy /linoxide/ http://archive.ubuntu.com/ubuntu/

Toma algún tiempo (dependiendo de su ancho de banda) descargar, instalar y configurar el sistema completo. Se necesitan alrededor de 500 MB para una instalación mínima.

4. Finalizando el entorno chroot

Después de instalar el sistema, necesitaremos hacer algunas configuraciones finales para asegurarnos de que el sistema funcione correctamente. Primero, queremos asegurarnos de que nuestro host fstab es consciente de algunos pseudosistemas en nuestro huésped.

 sudo nano /etc/fstab

Agregue las siguientes líneas como estas en la parte inferior de su fstab:

proc /linoxide/proc proc defaults 0 0
sysfs /linoxide/sys sysfs defaults 0 0

Guarde y cierre el archivo.

Ahora, necesitaremos montar estos sistemas de archivos dentro de nuestro invitado:

$ sudo mount proc /linoxide/proc -t proc
$ sudo mount sysfs /linoxide/sys -t sysfs

También querremos copiar nuestro /etc/hosts archivo para que tengamos acceso a la información de red correcta:

$ sudo cp /etc/hosts /linoxide/etc/hosts

Finalmente, puede enumerar los entornos chroot disponibles usando el comando schroot.

$ schroot -l

Podemos ingresar al entorno chroot a través de un comando como este:

$ sudo chroot /linoxide/ /bin/bash
You can test the chroot environment by checking the version of distributions installed.
# lsb_release -a
# uname -a

Para finalizar este tutorial, para ejecutar una aplicación gráfica desde el chroot, debe exportar la variable de entorno DISPLAY.

$ DISPLAY=:0.0 ./apps

Aquí, hemos instalado con éxito Ubuntu Chrooted 13.10 (Saucy Salamander) en su host Ubuntu 14.04 LTS (Trusty Tahr).
Puede salir del entorno chroot con éxito ejecutando los siguientes comandos:

# exit

Luego, necesitamos desmontar nuestros sistemas de archivos proc y sys:

$ sudo umount /test/proc
$ sudo umount /test/sys

Ubuntu
  1. Cómo configurar la dirección IP estática en Ubuntu 18.04

  2. Cómo instalar OpenProject en Ubuntu 16.04

  3. Cómo configurar el servidor Bacula en Ubuntu 16.04

  4. Cómo instalar Gradle en Ubuntu 18.04

  5. Configure un entorno chroot en Ubuntu con debootstrap

Cómo agregar una impresora a Ubuntu

Cómo reinstalar Ubuntu

Cómo configurar los ajustes del ratón en Ubuntu

Cómo instalar y configurar MySQL en Ubuntu 20.04 LTS

Cómo instalar urBackup en Ubuntu 20.04

Cómo instalar Dropbox en Ubuntu 18.04 y 16.04