Error: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() [SOLVED]

Pre-Flight Check
  • These instructions are intended specifically for solving the error: 500 OOPS: vsftpd: refusing to run with writable root inside chroot().
  • I’ll be working from a Liquid Web Self Managed Fedora 20 server, and I’ll be logged in as root.

The Fix

This error may occur when attempting to connect to a vsftpd FTP server that is configured to jail (prevent from accessing other directories) each FTP user. It is best practice to create Linux users specifically for FTP, that can’t login via SSH. For example, if you wanted to remove SSH access for testuser, then you’d use the following command:

usermod -s /sbin/nologin testuser

However, that won’t address the problem listed in the error. To do that, you must make the user’s home directory read only. Assuming the username is testuser and the home directory is /home/testuser, then execute the following command:

chmod a-w /home/testuser

For good measure, be sure to restart vsftpd:

systemctl restart vsftpd

Alternative Fix

Alternatively, you can bypass the writable check in the vsftpd config file by running the following two commands:

echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf

systemctl restart vsftpd

Be Sociable, Share!
Here's $75, Launch a New VPS Today. Find out why 30,000 customers have chosen our Best-in-Class Performance & 24x7 Heroic Support.