Fork me on GitHub

The WebDevil

Enjoy development

Понадобилось мне заводить виртуальных ftp-пользователей.
Так как вся информация об аккаунтах для почты живет в MySQL – то и FTP я решил не делать исключением.

Итак, первым претендентом на роль FTP-сервера стал vsftpd.

Vsftpd

Преимущества

  • быстрый
  • держит большие нагрузки абсолютно спокойно
  • имеет очень простой конфиг
  • работает через pam

Недостатки

  • chroot для виртуальных юзверей в строго определенные папки: /home/vsftpd/$USER. Все. Указать для каждого юзеря свою директорию – нельзя.
  • Или локальные пользователи, или виртуальные. Вместе не живут (авторизацию я вроде как прошел, но вместо /home/dm меня попыталось зачрутить в /home/vsftpd/dm, что, естественно, не удалось)
  • Квот нету в приципе

Ссылки

Ставил по наставлению howtoforge. Без проблем стало, но недостатки отпугнули.

Резюме

Подходит для простой схемы без изысков. Увы, мне не подошел.

Pure-ftpd

Преимущества

  • довольно быстрый
  • имеет простой конфиг
  • работает и через pam
  • наличие квот

Недостатки

  • не успел найти

Ссылки

Ставил по наставлению howtoforge. Проблем небыло, начал плеваться на конфиг – не понравился он мне чисто субъективно.

Резюме

Вполне нормально, но вкус не понравился.

Proftpd

Преимущества

  • имеет простой и удобный конфиг
  • модульный
  • наличие квот
  • очень богатые настройки

Недостатки

  • при большой нагрузке вел себя плохо – сильно грузил систему и медленно работал
  • давно были замечены странные паузы на 5-10 секунд при коннекте, сейчас не наблюдается

Ссылки

Ставил по наставлению howtoforge. Проблем небыло. Сделал небольшую поправку в /etc/proftpd/proftpd.conf:

SQLAuthTypes            Crypt

Резюме

Вполне нормально, настраивается более чем достаточно. Квоты есть, шейпер есть. При первом обращении существующего в БД пользователя его домашний каталог создается автоматически. На нем и остановился.

2 Responses to “Virtual FTP accounts”

  1. >chroot для виртуальных юзверей в строго определенные папки: /home/vsftpd/$USER. Все. Указать для каждого юзеря свою директорию – нельзя.

    можно
    user_config_dir=/etc/vsftpd_user_conf

    $ cat /etc/vsftpd_user_conf/ulmen
    local_root=/opt/tools/

    Вот еслибы эту настройку в базу можно было ложить – вообще красота была :)
    Собствено на vsftpd и остановился, нравится, квоты мне не нужны. Для управления аккаунтами накатал небольшую вебморду на web.py – стало еще удобнее.

    ulmen

  2. Я на хостинге юзаю два сервера.
    vsftpd для анонимного ftp, для клиентов pure-ftpd.
    Юзать proftpd несоветую… дырявый он

    DeViL