chroot non si riferisce all'utente root, ma alla radice del sistema
/ (root). Può essere eseguito
solo dall'utente root.
chroot è molto versatile ed utile: permette di rendere una cartella la radice del sistema.
I due utilizzi più diffusi direi che sono questi:
- Se la cartella contiene un sistema intero (eventualmente danneggiato e non in grado di avviarsi), permette di utilizzarlo esattamente come se si fosse avviato, usando, per esempio, un sistema live come base per il cambio di radice.
- Per aumentare la sicurezza di servizi pericolosi si possono eseguire in una finta root. Si trasforma una cartella in una replica minima del sistema in esecuzione, contenente solo ciò che serve al servizio per funzionare. Se qualche bulletto riuscirà a prendere il controllo del sistema passando da quel servizio, si troverà rinchiuso nella limitata gabbia chroot: difficilmente potrà fare gravi danni, dovrà evadere per acquisire il controllo del sistema.
La voce wikipedia in italiano fornisce una introduzione al punto 2.
La voce inglese è poco discorsiva ma elenca tutti i possibili utilizzi.
sudo offre la possibilità di eseguire alcuni programmi trasformandosi in un altro utente (usualmente
root), previa autenticazione con la propria password. Ciò che permette di fare è definito nel file
/etc/sudoers.
La voce sudo di wiki it non mi sembra male.