Requirements                                                     -*- outline -*-
------------

* Allow a user to chroot() into a location specified in a configuration file.

  This will require the program to be setuid-root.

* Allow the user to run a command or a login shell.

* Allow the user to preserve their environment inside the chroot.

  This should not be the default.

* Restrict access to the chroot to certain users or groups.

  Group restrictions are easiest to administer, and the default is to
  create users with their own group anyway.

* Allow root access to non-root users.

  root access is required in order to install and remove packages in
  the root (i.e. general apt/dpkg stuff).

  In order for tools like sbuild to run non-interactively, this should
  be password-less if the user is authorised to have root access in
  the chroot.

* Allow changing to other users, in addition to root, in the same manner as su(1).

  This will require authentication.

* Allow querying of the available chroots.

  Tools need to know the available chroots, and should not be required
  to parse the configuration file by hand.
