You have a few possibilities:
- Remove write permission on home directory for the user and make subdirectory that is writeable
local_root=/home in the configuration, that would chroot to /home
- Choose a different ftp daemon such as pure-ftpd.
In a later version vsftpd includes a
allow_writeable_chroot directive, however the version shipped with ubuntu does not include that.
You could backport the vsftpd from debian unstable though (assuming you're on ubuntu 12.04 or 12.10):
sudo apt-get install build-essential devscripts
sudo apt-get build-dep vsftpd
wget http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-1.dsc \
dpkg-source -x vsftpd_3.0.2-1.dsc
# After the following an editor will popup where you can add a
# short changelog entry such as "ported from debian unstable"
# and than save and exit
# For Ubuntu 12.04
dch -R -D precise
# For Ubuntu 12.10
dch -R -D quantal
dpkg-buildpackage -us -uc -rfakeroot
After that you'll end up with a
~/build just install it using the following command:
sudo dpkg -i ~/build/vsftpd_3.0.2-1build1_*.deb
After that the
allow_writeable_chroot directive should work.