Jails: Setting different times in jails

grarpamp grarpamp at gmail.com
Wed Jul 20 02:09:25 UTC 2011


> Why on earth would you want this?

Hi. Since your quote of my note was not to the original,
I'll repost it here. Kurt Lidl also posted useful situations
on these lists. Also, being able to have time tick backwards
in jails could be interesting fuzzing too :-) Enjoy.


Would be nice to be able to set different times in different jails.
All jails would tick in step with the system.
But each jail could have it's birthtime set specifically via jail(8),
jail(2), etc. Either by specification of a specific time, or an offset
from the current true system time. ie:

jail(8): -t [-|+]<seconds>

Child jails would offset from their parent, not the system.

Internally, gettimeofday, filesystem timestamps, and any other
userland interfaces would be hooked and adjusted by referencing
a table of jail ID's and their offsets. Similar to how setting TZ or
/etc/localtime effects a timezone offset. But transparent and
undetectable to the jail unless set as visible by the invoker.

Useful for creating alternate histories, testing time dependant
protocols and applications, forensics, pen testing, etc.


More information about the freebsd-current mailing list