У вас есть несколько возможностей:
- Удалите разрешение на запись в домашний каталог для пользователя и сделайте подкаталог доступным для записи
- Установите
local_root=/home
в конфигурации, что бы сделать chroot равным /home
- Выберите другой демон ftp, такой как pure-ftpd.
В более поздней версии vsftpd включает директиву allow_writeable_chroot
, однако версия, поставляемая с Ubuntu, не включает это.
Вы можете сделать бэкпорт vsftpd из нестабильного Debian (при условии, что вы используете Ubuntu 12.04 или 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
После этого вы получите vsftpd_3.0.2-1build1_*.deb
в ~/build
просто установите его с помощью следующей команды:
sudo dpkg -i ~/build/vsftpd_3.0.2-1build1_*.deb
После этого директива allow_writeable_chroot
должна работать.