Я установил VSFTP на своем сервере Centos5.5. Я создал пользователя на коробке для доступа по ftp. В конфигурации VSFTP я установил:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Файл conf содержит созданное мной имя пользователя, так что пользователь «помещается в тюрьму» в свой домашний каталог. Когда я подключаюсь к FTP-серверу с помощью программы FTP из командной строки, это правило соблюдается, то есть я не могу просматривать файлы выше домашнего каталога. Однако, когда я подключаюсь с помощью Filezilla или gFTP, я могу просматривать информацию выше домашнего каталога. Кроме того, когда я пытаюсь подключиться к любому из этих графических интерфейсов с помощью стандартного FTP, я не могу получить список каталогов, хотя могу получить его при подключении с использованием SFTP. Может ли это быть связано с проблемой игнорирования chroot? И в любом случае, может ли кто-нибудь предложить, как я могу добиться, чтобы правило chroot соблюдалось этими графическими интерфейсами?
Я также выполнил инструкции на этой странице (http://www.cyberciti.biz/faq/iptables-open-ftp-port-21/), чтобы открыть порт 21 в брандмауэре, но это не имело значения.
Попробуйте закомментировать предыдущие 2 строки chroot_ * и оставить включенной только эту:
chroot_local_user=YES
и посмотрите, решит ли это вашу проблему. Убедитесь, что у вас также есть local_enable = YES