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

vsftpd: ECONNREFUSED с «allow_writeable_chroot = YES»

При настройке vsftpd я в ловушке. Когда я выхожу из домашнего каталога ftpuser без разрешения на запись, я могу войти в систему, и все в порядке, несмотря на то, что я не могу писать (конечно). Когда я добавляю разрешение на запись, я получаю что-то вроде

cannot change to directory with write permissions if user is chrooted

Затем я добавил

allow_writeable_chroot=YES

в vsftpd.conf. Но теперь я получаю

ECONNREFUSED - Connection refused by serverss

Я потерян. Что я делаю не так?

Вот моя конфигурация:

ubuntu 12.04 - vsftpd 2.3.5 - etc / vsftpd.conf:

write_enable=YES
dirmessage_enable=YES
ftpd_banner="Welcome to my FTP service."
local_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
anonymous_enable=YES
anon_upload_enable=YES
anon_umask=022
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
syslog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
listen=YES

В более ранних версиях allow_writeable_chroot=YES параметр конфигурации недоступен (он был добавлен в vsftpd версии 3 и далее).

Как говорится в другом ответе, вы можете создавать разрешения на запись для вложенных папок, но оставлять папку chroot (и скрытые файлы внутри) только для чтения.

В моей реализации вы можете создать другую папку / home / username в chroot. Таким образом, подключение к FTP-серверу будет по умолчанию в домашнем каталоге пользователя. родственник в chroot.

В моем сценарии создания учетной записи пользователя это выполняется следующим образом (все команды выполняются как sudo):

chown root:root /home/$username
mkdir -p /home/$username/home/$username
chown $username:$username /home/$username/home/$username

Затем, когда пользователь входит на ftp-сервер, у него появляется новая домашняя папка относительно его chroot. Им принадлежит эта папка, и они могут вносить в нее изменения. Может потребоваться дополнительная настройка, чтобы установить его в качестве папки входа по умолчанию (passwd?); когда пользователь нажимает кнопку «домой» на каком-либо ftp-клиенте, который он использует, он переходит в эту папку.

Я решил проблему, не дав пользователю права на запись в его корневой каталог, но установив подпапки с разрешениями на запись, чтобы он все еще мог загружать файлы. Не в корень, а во вложенные папки. Не очень хорошо, но работает!