Perché devo usare chroot


13

Questa domanda chroot-jail-what-is-it-and-how-i-use-si riferisce a cosa è e come si usa chroot.

Quello che non capisco è perché devo usare chroot. Capisco cosa fa, ma non riesco a pensare a un caso in cui ho bisogno di usarlo, dato il fatto che non si tratta di un meccanismo di sicurezza o di una sandbox, poiché la risposta sottolinea che "non dovresti usare chrootcome sicurezza misura per impedire a un programma di modificare file al di fuori del tuo filesystem simulato ".

In particolare, perché un determinato processo deve mappare una sottodirectory come rootfilesystem?


avere più distribuzioni in un file system.
Ipor Sircer,

cosa significa?
Alexandru Irimiea,

1
Anche se potrebbe non impedire a un determinato hacker di uscire dalla prigione, lo rende più difficile e quasi sicuramente impedirà gli accessi accidentali .
Barmar,

se si desidera creare un nuovo sistema operativo da zero, questo può essere utilizzato per configurare un nuovo ambiente indipendente dal file system host. dai un'occhiata al progetto LFS (Linux da zero)
Chenchuk,

Risposte:


13

Ci sono molte ragioni per usare un ambiente chroot, puoi usarlo per mantenere diverse versioni di un programma, puoi usarlo per simulare un ambiente specifico al fine di testare alcune funzionalità, per creare immagini di un sistema diverso dal tuo principale uno, ecc.

Wikipedia può dirti di più sulle chroot jail e sui suoi usi.

Da li:

Test e sviluppo : un chroot può creare un ambiente di test per software che altrimenti sarebbe troppo rischioso per essere distribuito su un sistema di produzione.

Controllo delle dipendenze : il software può essere sviluppato, costruito e testato in un chroot popolato solo con le sue dipendenze previste. Ciò può impedire alcuni tipi di disallineamento dei collegamenti che possono derivare dagli sviluppatori che creano progetti con diversi set di librerie di programmi installati.

Compatibilità : software legacy o software che utilizzano un diverso ABI a volte devono essere eseguiti in chroot perché le loro librerie o file di dati di supporto potrebbero altrimenti scontrarsi in nome o collegamento con quelli del sistema host.

Ripristino : nel caso in cui un sistema venga reso non avviabile, è possibile utilizzare un chroot per tornare all'ambiente danneggiato dopo l'avvio da un file system radice alternativo (come un supporto di installazione o un Live CD).

Separazione dei privilegi : i programmi possono trasportare descrittori di file aperti (per file, condutture e connessioni di rete) nel chroot, il che può semplificare la progettazione del carcere rendendo superfluo lasciare i file di lavoro all'interno della directory chroot. Ciò semplifica anche la disposizione comune dell'esecuzione delle parti potenzialmente vulnerabili di un programma privilegiato in una sandbox, al fine di contenere preventivamente una violazione della sicurezza. Nota che chroot non è necessariamente sufficiente per contenere un processo con privilegi di root.


3
Fondamentalmente se stai eseguendo una serie di programmi che vogliono leggere / scrivere cose specifiche sul posto a partire da /, ma non vuoi rovinare il tuo sistema esistente, un chroot è utile anche se eseguito come root (che è quando è inutile dal punto di vista della sicurezza). Funziona come un "redirector" che fintanto che ti fidi del programma è utile.
LawrenceC,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.