Pour ma part je suis assez d'accord avec Florian sur les aberrations que l'on voit avec un chroot mal fait.
Je me contente d'un kernel récent avec patch grsec, séparation entre le web Nginx et PHP (communication par socket dédiés par sites), MySecureShell pour l'accès sftp/scp, combiné à lshell pour limiter les commandes possibles (éditions emacs/vim, packages, manipulation de base des fichiers/rep).
Les accès sont donc chrooté virtuellement par MySecureShell qui lance lshell qui lui aussi ajoute son chroot virtuel.
Les partitions sont montées en autre avec noexec, nosuid, nodev, php a une liste longue comme le bras pour limiter les fonctions utilisables (même curl_exec est bloqué).
En amont sur une plate-forme à vocation mutualisée on a des reverses proxy Nginx avec naxsi (en cours de test sur quelques vhost).
Voilà comment je gère cela.