Настраиваем FTP-сервер.
Устанавливаем:
# aptitude install proftpd
После установки создается пользователь ftp.
Правим конфиг:
# geany /etc/proftpd/proftpd.conf
Рабочий образец конфига с комментариями:
Include /etc/proftpd/modules.conf
# Выключаем ipv6
# Имя сервера, тип и адрес администратора
ServerName "Название_сервера"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
# Отключить определение имени хоста по ip, (ускоряем доступ)
UseReverseDNS off
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
RequireValidShell off
# Порт по-умолчания. Обычно его меняют.
Port 21
# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours
<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
AllowOverwrite on
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
# Ограничение размера загружаемого и скачиваемого файлов
MaxStoreFileSize 1000 Mb
MaxRetrieveFileSize 1000 Mb
<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>
# Непосредственная настройка анонимного FTP сервера
<Anonymous /media/data>
User ftp
Group nogroup
# Алиас на anonymous
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Максимальное количество анонимов
MaxClients 10
DisplayLogin welcome.msg
DisplayChdir .message
# Запрет закачки файлов в окружении анонима
<Directory "torrent">
<Limit WRITE>
DenyAll
</Limit>
</Directory>
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# Настройка каталога, в которую аноним может закачивать файлы
# но не удалять их
<Directory "upload"/*>
Umask 022 022
<Limit STOR MKD>
AllowAll
</Limit>
</Directory>
</Anonymous>
# Include other custom configuration files
Include /etc/proftpd/conf.d/
Назначим владельца юзера ftp:
# chown -R ftp:nogroup /media/data
Перезапустим сервис:
# /etc/init.d/proftpd restart
Брал здесь: https://blog.amet13.name/2013/09/ftp.html