Tell me more ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have just updated to Ubuntu 12.04 LTS from Ubuntu Server 11.10, It updated my vsftpd install, and it seems that something has changed :/ I use PAM authentication, does anyone have any ideas what could have changed to cause this?: When trying to connect to FTP is get this error:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

I tried googling it, and it said to add allow_writable_root=YES to the config file - however when i try this and try restarting vsftpd it cant restart? :/

Due to the popularity of this question, here is how I actually fixed it:

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-2_amd64.deb
dpkg -i vsftpd_3.0.2-2_amd64.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

and viola :)

share|improve this question

4 Answers

up vote 7 down vote accepted

i have this issue aswell, think its because of the new vsftpd update to enhance security, so in the meantime i use this solution.

  1. i chmod the folder that my ftp user comes in to as he first login (root folder) by using in terminal: sudo chmod a-w /home/user

you can change /home/user to whatever is your ftp users root folder.

  1. Create a subfolder with in the folder, either by the use of GUI or if you only have terminal it's: sudo mkdir /home/user/newfolder

now you should be able to log in and read write within the "newfolder". You will NOT be able to write in the root folder itself from the ftp with the chmod a-w, so that is the reason for the subfolder, there you can.

I guess there will be a fix in not so long, but in the meantime i hope this helps.

share|improve this answer
The only fix I can find is to install vsftpd-ext and replace vsftpd which allows the use of allow_writable_root, but it only comes as a .tar.gz file, and I am very new to linux and can't seem to get it to build :/ in the end i just forced a downgrade to the old version of vsftpd I used to run – King Apr 30 '12 at 14:11
Worked for me. The owner of the homedir has to create the folder, not the root. – OrangeTux Jun 23 '12 at 10:50
Isnt doing a chmod a-w "forbidden" by the linux jedi masters? since youd be granting 666 permission? – user85296 Aug 24 '12 at 12:47

vsftpd 3.0.0 adds a config option

allow_writeable_chroot=YES

to again enable the previous behavoir (source: http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/ comment from Brian K. White).

Unfortunately, 3.0.0 is not yet packaged by Ubuntu. So in the meantime, downgrade to some older version, for example I am using this one on precise: http://packages.ubuntu.com/oneiric-updates/vsftpd

share|improve this answer
Could you add instructions how to install the Oneiric package you linked? Should I manually download the package? I suppose adding oneiric-updates to my repositories will mess up things quite a lot. – lumbric Feb 17 at 8:46

Another way of doing thing as user Kristian it does: It worked for me. The username I use is 'john'. Replace it for the username you want.

sudo chmod a-w /home/john - Removes permission for all users to delete or modify a file.

sudo mkdir /home/john/ftp - Creates a folder named 'ftp' in the home dir of user 'john'

sudo chown -Rv john.john /home/john/ftp - Changes ownership of the dir to group 'john' and user 'john'.

share|improve this answer

Somebody backported the feature to add allow_writeable_chroot=YES from Version 3.0.0 to 2.3.5 (see this blog entry).

To install on Precise 12.04 run the following commands as root:

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

Note that there seems to an option allow_writable_chroot=YES in vsftpd-ext - note the mssing e! (or is this a typo in the blog post?)

share|improve this answer

protected by Community Aug 24 '12 at 12:49

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.