I am doing business with someone online who has a few GBs of files they need to transfer to me. The best way is for them to upload them to my server. How do I grant them access to ftp to a specfic directory, without access to everything on my server or the ability to mess around with my settings? I have cpanel... if that makes a difference. I know it can be done because I have been in his position many times and had access to log in with filezilla and upload files to numerous peoples servers with only access to one directory... I know it can be done. Thanks!
You can easily do so by creating an additional Ftp account from one of the cPanel account. That new ftp user will have access to his defined directory and nothing outside of it.
chroot (change root) will effectively let you set the users root directory. So for example you could chroot to : /users/secret/public Which would change their root path ( "/") to the path you set and they cannot traverse out of.