Você tem algumas possibilidades:
- Remova a permissão de gravação no diretório inicial do usuário e faça o subdiretório que é gravável
- Defina
local_root=/home
na configuração, que seria chroot para / home - Escolha um daemon ftp diferente, como pure-ftpd.
Em uma versão posterior, o vsftpd inclui uma diretiva allow_writeable_chroot
, no entanto, a versão fornecida com o Ubuntu não inclui isso.
Você poderia retroceder o vsftpd do debian unstable (assumindo que você está no Ubuntu 12.04 ou 12.10):
sudo apt-get install build-essential devscripts
sudo apt-get build-dep vsftpd
mkdir ~/build
cd ~/build
wget http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-1.dsc \
http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2.orig.tar.xz \
http://ftp.de.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-1.debian.tar.xz
dpkg-source -x vsftpd_3.0.2-1.dsc
cd vsftpd-3.0.2
# 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
Depois disso, você vai acabar com um vsftpd_3.0.2-1build1_*.deb
em ~/build
, basta instalá-lo usando o seguinte comando:
sudo dpkg -i ~/build/vsftpd_3.0.2-1build1_*.deb
Depois disso, a diretiva allow_writeable_chroot
deve funcionar.