Ubuntu+ProFtpd Настройка без лишних слов. Когда-то она помогла мне быстро расправиться с этой задачей. К сожалению у меня сохранился только текстовый вариант статьи. Если правообладатель обратится, я с удовольствием укажу первоисточник.
sudo apt-get install proftpd
Настройка
Настройки ftp сервера proftpd хранятся в файле
/etc/proftpd/proftpd.conf[/code]
Для его открытия введем:
sudo nano /etc/proftpd/proftpd.conf
Авторизация:
Добавим возможность авторизации «виртуальными» пользователями, для этого в конфе введем следующие строки:
UseIPv6 off # если не используете RootLogin off # запрещаем подключать от пользователя root RequireValidShell off AuthUserFile /etc/proftpd/ftpd.passwd AuthOrder mod_auth_file.c
Создаем пользователя
После этого создадим пользователя, с именем ftpuser, с паролем 123
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ftpuser --shell=/bin/false --home=/var/www/ --uid=33 --gid=33
Это добавит пользователя в ftpd.passwd
Для изменения пароля используйте
ftpasswd --passwd --name=ftpuser --change-password
Исправление ошибки доступа (permited denide)
сhown www-data:www-data /var/www/ chmod 775 /var/www/
Оптимизация
Если у вас медленно работает авторизация и передача данных, то добавьте следующие строки:
IdentLookups off UseReverseDNS off
Остальное я оставил без изменений. Все делалось на виртуальной машине с Ubuntu 12.10 Server (x86). В качестве сетевого адаптера выбран «Виртуальный адаптер хоста», что дает использовать данный сервер вне виртуальной машины.
Запуск, рестарт, остановка ftp сервера
sudo /etc/init.d/proftpd start sudo /etc/init.d/proftpd restart sudo /etc/init.d/proftpd stop
Мой конфиг без коментов:
Include /etc/proftpd/modules.conf UseIPv6 off IdentLookups off UseReverseDNS off ServerName "WebSrv-FTP" ServerType standalone DeferWelcome off RootLogin off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l" DenyFilter \*.*/ RequireValidShell off Port 21 MaxInstances 30 User proftpd Group nogroup Umask 022 022 AllowOverwrite on TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log <IfModule mod_quotatab.c> QuotaEngine off </IfModule> <IfModule mod_ratio.c> Ratios off </IfModule> <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule> AuthUserFile /etc/proftpd/ftpd.passwd AuthOrder mod_auth_file.c Include /etc/proftpd/conf.d/