Red hat linux Web Hosting

Install and configure FTP server on CentOS

Complete answer that solved my question for any others that are after a step by step walkthrough…

Install vsftpd using “yum install vsftpd”.

  • Create user with useradd [user_name].
  • Create user’s password with passwd [user_name]. (You’ll be prompted to specify the password).
  • Create FTP directory in /var/ftp and then bind to the ‘home’ directory you wish to specify for this user with mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/.
  • Change user’s home directory with usermod -d /var/ftp/custom_name/ user_nameIn /etc/vsftpd/vsftpd.conf, ensure all all of the following are set:-
    • chroot_local_user=YES
    • chroot_list_enable=YES
    • chroot_list_file=/etc/vsftpd.chroot_list

Only list users in the vsftpd.chroot_list file if you want them to have full access to anywhere on the server. By not listing them in this file, you’re saying restrict all vsftpd users to their specified home directory.

In other words (for reference):-

  1. means that by default, ALL users get chrooted except users in the file…
    • chroot_local_user=YES
    • chroot_list_enable=YES
  2. means that by default, ONLY users in the file get chrooted…
    • chroot_local_user=NO
    • chroot_list_enable=YES

Leave a Reply

Your email address will not be published. Required fields are marked *