В случае выполнения системного вызова chroot() в программе:
- файлы, открытые до вызова chroot() так и остаются открытыми, файловый дескриптор никуда не девается :), программа может писать и читать данные несмотря на то, что после чрутования все пути изменились;
- файлы, открываемые после вызова chroot(), располагаются только внутри нового корня.
В случае dhcpd получается:
1) демон открывает и читает /etc/dhcpd.conf;
2) вызывает chroot( "/var/lib/dhcp/dhcpd/" ); (с путём могу ошибиться);
3) открывает или создаёт /state/dhcpd.leases и пишет в него.