GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer l'environnement chroot dans Ubuntu 14.04

Il existe de nombreux cas où vous souhaiterez peut-être isoler certaines applications, certains utilisateurs ou certains environnements au sein d'un système Linux. Différents systèmes d'exploitation ont différentes méthodes pour réaliser l'isolation, et sous Linux, une méthode classique consiste à utiliser un chroot environnement.

Dans ce guide, nous vous montrerons étape par étape comment configurer un environnement isolé à l'aide de chroot afin de créer une barrière entre votre système d'exploitation habituel et un environnement confiné. Ceci est principalement utile à des fins de test. Nous allons vous apprendre les étapes sur une instance VPS Ubuntu 14.04.

La plupart des administrateurs système bénéficieront de savoir comment réaliser un environnement chroot rapide et facile et c'est une compétence précieuse à avoir.

L'environnement chroot

Un environnement chroot est un appel au système d'exploitation qui changera temporairement l'emplacement racine vers un nouveau dossier. En règle générale, la conception du système d'exploitation du répertoire racine est la racine réelle située à "/ ". Cependant, avec chroot , vous pouvez spécifier un autre répertoire pour servir de répertoire de niveau supérieur pendant la durée d'un chroot.

Toutes les applications exécutées depuis le chroot ne pourra pas voir le reste du système d'exploitation en principe.

Avantages de l'environnement 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.

Par exemple, il vous permet de créer, d'installer et de tester des logiciels dans un environnement séparé de votre système d'exploitation normal. Il pourrait également être utilisé comme méthode pour exécuter des applications 32 bits dans un environnement 64 bits t.

Mais alors que les environnements chroot feront certainement du travail supplémentaire pour un utilisateur non privilégié, ils doivent être considérés comme une fonctionnalité de renforcement au lieu d'une fonctionnalité de sécurité, ce qui signifie qu'ils tentent de réduire le nombre de vecteurs d'attaque au lieu de créer une solution complète. Si vous avez besoin d'une isolation complète, envisagez une solution plus complète, telle que des conteneurs Linux, Docker, vservers, etc.

Débootstrap et Schroot

Les packages nécessaires pour configurer l'environnement chroot sont debootstrap et schroot , qui sont disponibles dans le référentiel ubuntu. La commande schroot est utilisée pour configurer l'environnement chroot.

Débootstrap vous permet d'installer une nouvelle copie fraîche de n'importe quel système Debian (ou basé sur Debian) à partir d'un référentiel dans un répertoire avec toutes les commandes de base et les binaires nécessaires pour exécuter une instance de base du système d'exploitation.

Le schroot permet l'accès aux chroots pour les utilisateurs normaux utilisant le même mécanisme, mais avec des autorisations vérifiant et permettant une configuration automatisée supplémentaire de l'environnement chroot, comme le montage de systèmes de fichiers supplémentaires et d'autres tâches de configuration.

Voici les étapes pour implémenter cette fonctionnalité dans Ubuntu 14.04 LTS :

1. Installation des packages

Tout d'abord, nous allons installer debootstrap et schroot dans notre hôte Ubuntu 14.04 LTS.

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

2. Configuration de Schroot

Maintenant que nous avons les outils appropriés, il nous suffit de spécifier un répertoire que nous voulons utiliser comme environnement chroot. Nous allons créer un répertoire appelé linoxide dans notre répertoire racine pour y configurer chroot :

sudo mkdir /linoxide

Nous devons configurer schroot en fonction de nos besoins dans le fichier de configuration. Nous modifierons le schroot fichier de configuration avec les informations dont nous avons besoin pour être configuré.

sudo nano /etc/schroot/schroot.conf

Nous sommes actuellement sur un système Ubuntu 14.04 LTS (Trusty Tahr), mais disons que nous voulons tester certains packages disponibles sur Ubuntu 13.10, nom de code "Saucy Salamander". Nous pouvons le faire en créant une entrée qui ressemble à ceci :

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

Modifiez les valeurs des paramètres de configuration dans l'exemple ci-dessus pour les adapter à votre système :

3. Installer Ubuntu 32 bits avec debootstrap

Debootstrap télécharge et installe un système d'exploitation minimal dans votre environnement chroot . Vous pouvez installer n'importe quelle distribution basée sur Debian de votre choix, tant que vous disposez d'un référentiel disponible.

Ci-dessus, nous avons placé l'environnement chroot sous le répertoire /linoxide et c'est le répertoire racine de l'environnement chroot. Nous devrons donc exécuter debootstrap dans ce répertoire que nous avons déjà créé :

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

Vous pouvez remplacer amd64 dans --arch comme i386 ou un autre système d'exploitation que vous souhaitez configurer disponible dans le référentiel. Vous pouvez remplacer le miroir http://archive.ubuntu.com/ubuntu/ ci-dessus comme le plus proche, vous pouvez obtenir le plus proche à partir de la page officielle Ubuntu Mirror.

Remarque : Vous devrez ajouter --foreign au-dessus de la commande de la 3e ligne si vous choisissez de configurer le choix du système d'exploitation i386 bits dans votre hôte Ubuntu 64 bits en tant que :

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

Il faut un certain temps (selon votre bande passante) pour télécharger, installer et configurer le système complet. Il faut environ 500 Mo pour une installation minimale.

4. Finaliser l'environnement chroot

Une fois le système installé, nous devrons effectuer quelques configurations finales pour nous assurer que le système fonctionne correctement. Tout d'abord, nous voudrons nous assurer que notre hôte fstab est au courant de certains pseudo-systèmes dans notre invité.

 sudo nano /etc/fstab

Ajoutez les lignes ci-dessous comme celles-ci au bas de votre fstab :

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

Enregistrez et fermez le fichier.

Maintenant, nous allons devoir monter ces systèmes de fichiers dans notre invité :

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

Nous voudrons également copier notre /etc/hosts fichier afin que nous ayons accès aux informations correctes sur le réseau :

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

Enfin, vous pouvez répertorier les environnements chroot disponibles à l'aide de la commande schroot.

$ schroot -l

Nous pouvons entrer dans l'environnement chroot via une commande comme celle-ci :

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

Pour terminer ce tutoriel, afin de lancer une application graphique depuis le chroot, vous devez exporter la variable d'environnement DISPLAY.

$ DISPLAY=:0.0 ./apps

Ici, nous avons installé avec succès Chrooted Ubuntu 13.10 (Saucy Salamander) dans votre hôte Ubuntu 14.04 LTS (Trusty Tahr).
Vous pouvez quitter l'environnement chroot avec succès en exécutant les commandes ci-dessous :

# exit

Ensuite, nous devons démonter nos systèmes de fichiers proc et sys :

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

Ubuntu
  1. Comment configurer une adresse IP statique sur Ubuntu 18.04

  2. Comment installer OpenProject sur Ubuntu 16.04

  3. Comment configurer Bacula Server sur Ubuntu 16.04

  4. Comment installer Gradle sur Ubuntu 18.04

  5. Configurer un environnement chroot sur Ubuntu avec debootstrap

Comment ajouter une imprimante à Ubuntu

Comment réinstaller Ubuntu

Comment configurer les paramètres de la souris dans Ubuntu

Comment installer et configurer MySQL dans Ubuntu 20.04 LTS

Comment installer urBackup sur Ubuntu 20.04

Comment installer Dropbox sur Ubuntu 18.04 et 16.04