Настраиваем vsftpd 2.3.5 на ubuntu 12.04
Если вы хотите ограничить пользователя ftp только своей домашней папкой то после обновления vsftpd или установки новой версии с нуля можно получить
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Получите вы это если в настройках раскомментируете
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
Если так и произошло, читаем решение в низу страницы или немного текста про vsftpd чуть ниже, а потом решение.
Теперь подробнее о ситуации. После установки мыаез и создания нового пользователя он может выходить за рамки своего домашнего каталога и видеть остальные папки.
Чтобы запретить пользователю выходить из своего каталога, мы раскомментируем строку
chroot_local_user=YES
Если мы хотим, чтобы какие либо пользователи все таки могли выходить из своего домашнего каталога мы создаем файл /etc/vsftpd.chroot_list и вносим в него пользователей. А так же раскомментируем еще две строки, чтобы vsftpd проверял этот список.
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
После этого в новой версии vsftp? при попытке подключиться мы можем получить 500 OOPS: vsftpd: refusing to run with writable root inside chroot().
В интернете пытаются дать совет:
пропишите в /etc/vsftpd.conf allow_writeable_chroot=YES или allow_writable_chroot=YES
К сожалению эти строки вообще не дают запустить vsftpd.
Решение:
Нужно снять разрешение на запись с корневой директории пользователя.