`chroot` with Networking Support
03 Jan 2015 linux
Chroot is an operation that changes the apparent root directory for the current running process and their children. A program that is run in such a modified environment cannot access files and commands outside that environmental directory tree. This modified environment is called a chroot jail.
Well, you can activate network support (dhcp, or internet whatever) inside a chroot jail environment.
Let’s analyze a common chroot setup. I assume that I need to create a chroot jail environment at /media/kubuntu which is a root partition of a Kubuntu setup.
This would be the series of commands to mount essential paths.
DEVICE=/dev/sda1 MOUNTPATH=/media/kubuntu mkdir -p $MOUNTPATH mount -t auto -o acl $DEVICE $MOUNTPATH mount --bind /dev $MOUNTPATH/dev mount --bind /tmp $MOUNTPATH/tmp mount --bind /proc $MOUNTPATH/proc mount --bind /sys $MOUNTPATH/sys
Before executing chroot, run the following command.
# do this after connecting to internet mount --bind /etc/resolv.conf $MOUNTPATH/etc/resolv.conf chroot $MOUNTPATH
This will bind resolve configuration inside chroot environment also. Then execute chroot.
Do a ping inside chroot shell. Does it work or not? ;)