Назад | Перейти на главную страницу

vsftpd: отказ от запуска с доступным для записи корнем внутри chroot

Я хочу настроить только анонимный ftp-сервер (с возможностью загрузки файлов). Вот мой файл конфигурации:

listen=YES

anonymous_enable=YES
anon_root=/var/www/ftp

local_enable=YES
write_enable=YESr.

anon_upload_enable=YES
anon_mkdir_write_enable=YES

xferlog_enable=YES
connect_from_port_20=YES

chroot_local_user=YES

dirmessage_enable=YES
use_localtime=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/private/vsftpd.pem
pam_service_name=vsftpd

Но когда я пытаюсь его подключить:

kan@kan:~$ ftp yxxxng.bej
Connected to yxxx.
220 (vsFTPd 2.3.5)
Name (yxxxg.bej:kan): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed
Can anyone help ?

либо выполните оба других ответа (понижение версии или снижение безопасности путем отключения проверки)

Другой вариант - фактически решить проблему, имея правильные разрешения для корневой папки chroot.

Qouting хороший пост в блоге, на который Марек уже ссылался

- Добавить более строгие проверки на ошибку конфигурации при запуске с доступным для записи корневым каталогом внутри chroot (). Это может укусить людей, неосторожно включивших chroot_local_user, но такова жизнь.

chrooted корневой каталог доступен для записи пользователем, это больше не разрешено упомянутым обновлением Marek.

Поэтому для его исправления вам потребуется:

Измените права записи корневого корневого каталога

например

chmod a-w /home/user

вынуждая пользователей загружать файлы в подкаталог.

Измените vsftpd на более раннюю версию. Это патч безопасности, представленный в vsftpd 2.3.5.

http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/

Ваш write enable установлен на YESr вместо того YES также попробуйте добавить

allow_writeable_chroot=YES

Обычно это помогает

sudo add-apt-repository ppa:thefrontiergroup/vsftpd
sudo apt-get update
sudo apt-get install vsftpd

Уловка для меня заключалась в том, чтобы гарантировать, что 'homedir' не доступен для записи для рассматриваемых пользователей, положил

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

и закомментировать

#chroot_local_user=YES

Не то chroot_local_user дважды указан в стандартном файле 3.0.3 /etc/vsftpd.conf. Это меня сбило с толку.

Попробуйте в своей конфигурации allow_writeable_chroot = YES или allow_writable_chroot = YES,

если это не сработает, перейдите на более раннюю версию.