GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare l'ambiente Chroot in Ubuntu 14.04

Ci sono molti casi in cui potresti voler isolare determinate applicazioni, utenti o ambienti all'interno di un sistema Linux. Diversi sistemi operativi hanno metodi diversi per ottenere l'isolamento e, in Linux, un modo classico è attraverso un chroot ambiente.

In questa guida, ti mostreremo passo passo come configurare un ambiente isolato usando chroot per creare una barriera tra il tuo sistema operativo normale e un ambiente contenuto. Ciò è utile principalmente a scopo di test. Ti insegneremo i passaggi su un'istanza VPS Ubuntu 14.04.

La maggior parte degli amministratori di sistema trarrà vantaggio dal sapere come realizzare un ambiente chroot semplice e veloce ed è un'abilità preziosa da possedere.

L'ambiente chroot

Un ambiente chroot è una chiamata del sistema operativo che cambierà temporaneamente la posizione principale in una nuova cartella. Tipicamente, la concezione del sistema operativo della directory principale è la radice effettiva che si trova in "/ ". Tuttavia, con chroot , puoi specificare un'altra directory da utilizzare come directory di primo livello per la durata di un chroot.

Qualsiasi applicazione eseguita da chroot in linea di principio non sarà in grado di vedere il resto del sistema operativo.

Vantaggi dell'ambiente 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.

Ad esempio, consente di creare, installare e testare software in un ambiente separato dal normale sistema operativo. Potrebbe anche essere utilizzato come metodo per eseguire applicazioni a 32 bit in un ambiente a 64 bit t.

Ma mentre gli ambienti chroot renderanno sicuramente un lavoro aggiuntivo per un utente non privilegiato, dovrebbero essere considerati una funzionalità di rafforzamento anziché una funzionalità di sicurezza, il che significa che tentano di ridurre il numero di vettori di attacco invece di creare una soluzione completa. Se hai bisogno di un isolamento completo, prendi in considerazione una soluzione più completa, come container Linux, Docker, vserver, ecc.

Debootstrap e Schroot

I pacchetti necessari per configurare l'ambiente chroot sono debootstrap e schroot , che sono disponibili nel repository di Ubuntu. Il comando schroot viene utilizzato per configurare l'ambiente chroot.

Debootstrap ti permette di installare una nuova nuova copia di qualsiasi sistema Debian (o basato su Debian) da un repository in una directory con tutti i comandi di base ei binari necessari per eseguire un'istanza di base del sistema operativo.

Lo schroot consente l'accesso ai chroot agli utenti normali utilizzando lo stesso meccanismo, ma con il controllo dei permessi e consentendo un'ulteriore configurazione automatizzata dell'ambiente chroot, come il montaggio di filesystem aggiuntivi e altre attività di configurazione.

Questi sono i passaggi per implementare questa funzionalità in Ubuntu 14.04 LTS:

1. Installazione dei pacchetti

In primo luogo, installeremo debootstrap e schroot nel nostro host Ubuntu 14.04 LTS.

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

2. Configurazione di Schroot

Ora che abbiamo gli strumenti appropriati, dobbiamo solo specificare una directory che vogliamo usare come nostro ambiente chroot. Creeremo una directory chiamata linoxide nella nostra directory principale per configurare chroot lì:

sudo mkdir /linoxide

Dobbiamo configurare schroot per soddisfare le nostre esigenze nel file di configurazione. Modificheremo il schroot file di configurazione con le informazioni necessarie per la configurazione.

sudo nano /etc/schroot/schroot.conf

Attualmente siamo su un sistema Ubuntu 14.04 LTS (Trusty Tahr), ma diciamo che vogliamo testare alcuni pacchetti disponibili su Ubuntu 13.10, nome in codice "Saucy Salamander". Possiamo farlo creando una voce simile a questa:

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

Modifica i valori dei parametri di configurazione nell'esempio sopra per adattarli al tuo sistema:

3. Installazione di Ubuntu a 32 bit con debootstrap

Debootstrap scarica e installa un sistema operativo minimo all'interno del tuo ambiente chroot . Puoi installare qualsiasi distribuzione basata su Debian di tua scelta, purché tu abbia un repository disponibile.

Sopra, abbiamo posizionato l'ambiente chroot nella directory /linoxide e questa è la directory principale dell'ambiente chroot. Quindi dovremo eseguire debootstrap all'interno di quella directory che abbiamo già creato:

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

Puoi sostituire amd64 in --arch come i386 o altro sistema operativo bit che desideri configurare disponibile nel repository. Puoi sostituire il mirror http://archive.ubuntu.com/ubuntu/ sopra come quello più vicino, puoi ottenere quello più vicino dalla pagina Mirror ufficiale di Ubuntu.

Nota: Dovrai aggiungere --foreign sopra il comando di 3a riga se scegli di configurare il sistema operativo i386 bit choot nel tuo host Ubuntu a 64 bit come:

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

Ci vuole del tempo (a seconda della larghezza di banda) per scaricare, installare e configurare il sistema completo. Occorrono circa 500 MB per un'installazione minima.

4. Finalizzazione dell'ambiente chroot

Dopo aver installato il sistema, dovremo eseguire alcune configurazioni finali per assicurarci che il sistema funzioni correttamente. Per prima cosa, vorremo assicurarci che il nostro host fstab è a conoscenza di alcuni pseudo-sistemi nel nostro ospite.

 sudo nano /etc/fstab

Aggiungi le righe seguenti come queste nella parte inferiore del tuo fstab:

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

Salva e chiudi il file.

Ora, avremo bisogno di montare questi filesystem all'interno del nostro guest:

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

Vorremo anche copiare il nostro /etc/hosts file in modo da avere accesso alle informazioni di rete corrette:

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

Infine, puoi elencare gli ambienti chroot disponibili usando il comando schroot.

$ schroot -l

Possiamo entrare nell'ambiente chroot attraverso un comando come questo:

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

Per concludere questo tutorial, per eseguire un'applicazione grafica dal chroot, devi esportare la variabile d'ambiente DISPLAY.

$ DISPLAY=:0.0 ./apps

Qui, abbiamo installato con successo Ubuntu 13.10 (Saucy Salamander) con chroot nel tuo host Ubuntu 14.04 LTS (Trusty Tahr).
Puoi uscire dall'ambiente chroot con successo eseguendo i comandi seguenti:

# exit

Successivamente, dobbiamo smontare i nostri filesystem proc e sys:

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

Ubuntu
  1. Come configurare l'indirizzo IP statico su Ubuntu 18.04

  2. Come installare OpenProject su Ubuntu 16.04

  3. Come configurare il server Bacula su Ubuntu 16.04

  4. Come installare Gradle su Ubuntu 18.04

  5. Configura un ambiente chroot su Ubuntu con debootstrap

Come aggiungere una stampante a Ubuntu

Come reinstallare Ubuntu

Come configurare le impostazioni del mouse in Ubuntu

Come installare e configurare MySQL in Ubuntu 20.04 LTS

Come installare urBackup su Ubuntu 20.04

Come installare Dropbox su Ubuntu 18.04 e 16.04