Running code in a VM The best way to run untrusted or untested code is on a replaceable machine or a virtual machine. VMWare Runs on Windows or Linux Can run Linux, Windows, *BSD, or anything that runs on x86 processesors User-Mode-Linux Runs virtual Linux box on your Linux box Both Virtual machine can access host filesystem / network / devices if desired Have independent filesystem in honking files or partition Can have filesystem changes done separate from filesystem itself. Great for kernel development Crashes are unimportant Reboots are fast Restoring filesystem a breeze