chroot

chroot (change root) verandert de zichtbare rootmap voor een proces en zijn kinderen. Vanuit het oogpunt van het proces is de opgegeven map / — het kan niet hoger in de mapstructuur kijken.

Waarvoor gebruik je het?

  • Herstel: een kapot systeem repareren door vanaf een live-omgeving in de installatie te chrooten
  • Isolatie: software draaien in een afgeschermde omgeving
  • Bouwen: pakketten bouwen voor een andere distributie of architectuur

Voorbeeld: een kapot systeem repareren

Boot een live-usb, koppel de partities en chroot erin:

mount /dev/sda2 /mnt
mount --bind /dev  /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys  /mnt/sys
chroot /mnt

Vanaf dat punt gedraag je je als root binnen de installatie op /dev/sda2.

chroot vs containers

chroot isoleert alleen het bestandssysteem. Processen, netwerk en gebruikers zijn nog steeds gedeeld met de host. Containers (Docker, Podman) bouwen voort op chroot maar voegen namespaces en cgroups toe voor echte isolatie.

Zie ook

linuxbeveiligingsysteembeheer