Установка и настройка ftp сервера ProFTPd
Установим proftpd
sudo apt-get install proftpd
Настройка
Настройки ftp сервера proftpd хранятся в файле "/etc/proftpd/proftpd.conf".
Для его открытия введем:
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/