Chroot automatizzati con mkchroot

February 26, 2008 – 10:35 pm Anathema

E’ capitato spesso di dover settare velocemente ambienti chroot per test, login ssh/ftp/smtp o backup dati. E’ sempre stato avvilente dover fare un piano di lavoro pensando a cosa mettere, cercare le dipendenze, copia e creare tutti i files e device utili a far funzionare un chroot.

Serializzare la cosa, poi, e’ tremendo. Meglio affidarsi a qualche script.

Per la rete ce ne sono vari, tutti molto validi e performanti, ma spesso troppo complessi o carenti in qualcosa. Ecco perche’ ho deciso di scrivere mkchroot.sh, uno script BASh che, grazie all’aiuto di un file di configurazione, crea un ambiente chroot automatizzato e funzionante in pochi secondi.

Il pacchetto (che puo’ essere scariato da qui o qui), contiene uno script BASh ed un file di configurazione utilizzato per selezionare gli eseguibili ed i file di configurazione posti sotto /etc/ da copiare nel vostro nuovo chroot.

La sintassi e’ abbastanza banale, vediamo un piccolo esempio:

anathema@w00t:~$ bash mkchroot.sh -d new_home -c file
new_home non esiste…Creo la directory…
Copia delle applicazioni:

Copia di /bin/cp in new_home…

Copia di /usr/bin/make in new_home…

Copia di /usr/bin/du in new_home…

Copia di /bin/bash in new_home…

Copia di /bin/mv in new_home…

Copia di /usr/bin/file in new_home…

Copia di /bin/rm in new_home…

Copia dei parametri di etc:

Copia di localtime…

Copia di passwd…

Devi essere root per poter creare i device null e zero

Chroot creato con successo!

Attiva il chroot tramite il comando chroot new_home

anathema@w00t:~$

Ed ecco il file di configurazione:

[prog]

cp

make

du

bash

mv

file

rm[etc]

localtime

passwd

Grazie a due etichette, [prog] ed [etc], abbiamo selezionato il tipo di file da copiare, importante per l’algoritmo di copia dei file. Il programma inoltre evidenzia quando dei file gia’ sono presenti nell’ambiente chroot ed e’ possibile sovrascriverli con l’opzione di forcing.

Il programma e’ modula ed e’ facile, per chi conosce un po di bash scripting, estendere queste funzionalita’ ad altri tipi di file (ad esempio file semplici).

Per qualsiasi informazione non esitate a commentare o mandare una email ad admin@mawk.org (oppure a dav.barbato@studenti.unina.it).

Sperando che possa tornare utile a qualcuno :)

Davide `Anathema` Barbato

Post a Comment