Hello,
Giving each user their own chroot would not be a very good idea and would not improve security on your server.
(1) This is giving root access to each user, within their chroot, enabling them to install/remove packages within their chroot that could cause their account break completely and become impossible to recover/fix. Repairing mistakes done in public_html for 100 users on a webserver is bad enough, now imagine maintaining 100 separate complete Linux environments -- each running its own instance of Apache/Perl/SQL and anything else the user wants.
(2) Sometimes daemon processes such as apache will run within their own chroot, the reason being that if Apache is compromised -- then only the chroot is at risk of being rooted, not the entire server. However, you would not want to have Apache serving files out of a million chroot environments (each of which, for all you know, could be running its own conflicting webserver software).
(3) You don't get much added security from this, there are plenty of ways for users to escape from their chroot and (intentionally or otherwise) damage the host system for their chroot. For example, setting the hostname in a chroot will also change the hostname of the server and cause downtime. It is also a common problem in chroots that modifications to the kernel or core GNU system libraries (glibc) made within a chroot will also take place in the host environment.
The intended uses of a chroot are:
* To create a testing environment for software development in a clean isolated environment within a stable system, without making any changes to the host environment.
* To "jail" certain background processes for security reasons or otherwise. (This is more common in the BSD world)
* To cross-compile software for a system whose processor architecture is different from the host, without modifying the toolchain of the host. For example, to build an ARM binary on an x86_64 machine -- you could have a chroot with the gcc ARM toolchain installed and build a program in the chroot without potentially causing dependency or library version conflicts within your host system.
That said, you can create custom jailed shells within cPanel/WHM -- but it is important to understand that this is *not* a chroot!
Creating Custom Jailed Shell (Jailshell) Mounts
Also, if your system is correctly configured, users should have write access only within their home directory and limited read access elsewhere in the file system. Unix is relatively secure by design.