Chroot: le sue possibilità, i suoi vantaggi, le sue debolezze

Sui sistemi UNIX-like, chroot permette di creare un ambiente di esecuzione isolato dal resto del sistema o di isolare un utente. Ricco di possibilità, il chroot non è tuttavia una panacea perché ha anche dei punti deboli. Panoramica sotto Linux.

Un amministratore di sistema Linux, per definizione un po’ paranoico, sarà ansioso di assicurarsi che gli utenti del sistema non possano fare nulla. Il metodo più efficace è quello di vietare loro l’accesso al sistema, ma a volte ci sono situazioni che richiedono piccole concessioni. In questo caso, chroot è una buona opzione. chroot, come suggerisce il nome (CHange ROOT) cambia la radice apparente del file system per il processo corrente, così come per i suoi figli. È un’utilità Shell costruita intorno alla chiamata di sistema con lo stesso nome chroot. Quando un utente accede, se la shell dell’utente invoca chroot, l’utente sarà posto in un ambiente chiamato jail. In questo ambiente, l’utente potrà usare solo i comandi che sono disponibili per lui, e non tutti i comandi del sistema. Ci sono altri usi molto interessanti per chroot. Per esempio, questo comando permette di riparare un Linux danneggiato da un LiveCD. Potete anche usare chroot per fornire un ambiente di sviluppo o di test per un programmatore. Questo assicura che un’applicazione che lavora con i file non rischia di distruggere qualcosa di importante sul sistema durante la sua fase di sviluppo, poiché sarà confinata nella sua prigione. È anche possibile impostare un ambiente di esecuzione a 32 bit in un sistema a 64 bit. Molti servizi si basano sulla chiamata di sistema chroot. Per esempio, i server FTP ProFTPD o PureFPTD fanno il chroot agli utenti nelle loro directory di login, il che nasconde permanentemente i file a cui non dovrebbero avere accesso. Il chroot, sebbene attraente, ha anche dei punti deboli di cui un amministratore dovrebbe essere consapevole. Scopriamo tutto questo attraverso la pratica.

Frédéric Mazué

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *