Настройка proftpd в Debian и Ubuntu сводится к редактированию конфигурационного файла и перезапуске службы. Выполним эти действия.
ProFTPD является лучшим для большинства конфигураций вариантом FTP сервера, он просто, быстро и гибко конфигурируется. ProFTPD применяется чаще аналогов, таких как TWOFTPD и VSFTPD.
Пакет устанавливается из репозитория в Debian и Ubuntu
apt-get install proftpd
Если пакета не нашлось в репозиториях нужно обновить данные о пакетах в них и повторить попытку установки
apt-get update && apt-get install proftpd
В процессе установки запустится псевдографический интерфейс в котором стоит выбрать необходимость установки standalone версии пакета.
Убеждаемся в том, что служба запущена.
systemctl status proftpd
Проверка статуса выполняется через systemctl в большинстве современных операционных систем, в старых системах могут использоваться другие системы инициализации.
Настройки выполняются в главном конфигурационном файле /etc/proftpd/proftpd.conf, они интуитивно понятны.
Если IPv6 не используется на сервере опцию следует деактивировать:
UseIPv6 off
После этого в конец файла добавляются строки
<Global>
RequireValidShell off
</Global>
DefaultRoot ~ ftpuser
<Limit LOGIN>
DenyGroup !ftpgroup
</Limit>
Они устанавливают отсутствие необходимости указывать пользовательскую оболочку (т.е. можно использовать /bin/false), ProFTPd дается инструкция не выпускать системных пользователей за пределы домашнего каталога. Это важно для ограничения доступа.
Последняя опция определяет запрет на авторизацию всех системных пользователей, не входящих в группу ftpgroup.
Перезапускаем службу
systemctl restart proftpd
Создаем необходимую группу пользователей
addgroup ftpgroup
И пользователя
adduser user1 -shell /bin/false -home /var/www
Добавляем пользователя в группу
adduser user1 ftpgroup
На этом базовая настройка завершена, user1 может подключиться к серверу по FTP и работать с данными в пределах своего домашнего каталога.
Настройка proftpd с анонимными пользователями
Дополнительные коррективы основного конфигурационного файла /etc/proftpd/proftpd.conf могут дать анонимным пользователям возможность просматривать файлы на сервере.
User anonuser Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belong to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot # # Uncomment this if you're brave. # # DenyAll # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # # # DenyAll # # # ## # AllowAll # # # #
Пользователь добавляется в группу
adduser anonuser ftpgroup
Перезапускается служба
systemctl restart proftpd
После этого у anonuser появился доступ на просмотр содержимого каталогов файлов.
FTP сервер после выполненных настроек будет доступен по стандартному порту 21, подключаться к нему можно используя FTP клиент, например filezilla.
Также вместо FTP можно использовать SFTP, подключение выполняется точно также, но указывается порт 22 и реквизиты пользователя SSH. Такой доступ безопаснее и быстрее FTP, а также не требует никаких настроек.
Доступ по FTP обычно необходим для загрузки информации о товарах в интернет магазины.