Установка ProFTPD · 5 min read · Dec 22, 2025
Как установить и настроить ProFTPD на Debian Wheezy и Ubuntu 14.04
Этот документ описывает, как установить и настроить ProFTPD на сервере Debian Wheezy, он также будет работать на Ubuntu 14.04. ProFTPD - это FTP-демон для unix и unix-подобных операционных систем. ProFTPD разрабатывается, выпускается и распространяется под лицензией GNU Public License (GPL), что в основном устанавливает его как бесплатное программное обеспечение, что означает, что его можно продавать, лицензировать и иным образом манипулировать любым желаемым образом, при условии, что полный и полный исходный код либо сопровождает любые пакеты ProFTPD, либо предоставляется любыми и всеми сайтами, которые распространяют предварительно скомпилированные двоичные файлы. Программное обеспечение может быть изменено кем угодно в любое время, при условии, что все производные работы также лицензируются под лицензией GNU Public License.
Этот гид будет работать как для сервера Ubuntu, так и для Debian.
1 Предварительная заметка
Этот учебник основан на сервере Debian 7.6, поэтому вам следует установить базовую установку сервера Debian 7.6 перед тем, как продолжить этот учебник. Система должна иметь статический IP-адрес. Я использую 192.168.0.100 в этом учебнике и server1.example.com в качестве имени хоста.
2 Установка ProFTPD
2.1 Установка:
Сначала мы установим ProFTPD и OpenSSL следующим образом:
apt-get install proftpd opensslОн задаст несколько вопросов о ProFTPD, выберите standalone и нажмите Ok.

Мы можем проверить версию ProFTPD следующим образом:
proftpd -vroot@server1:~# proftpd -v
ProFTPD Version 1.3.4a
root@server1:~#
2.2 Создание пользователей ProFTPD
Для этого я создам группу ftpgroup и пользователя srijan для ProFTPD. Я ограничу пользователя srijan с домашним каталогом /ftpshare
addgroup ftpgroupadduser srijan -shell /bin/false -home /ftpshareroot@server1:~# adduser srijan -shell /bin/false -home /ftpshare
Adding user `srijan' ...
Adding new group `srijan' (1002) ...
Adding new user `srijan' (1001) with group `srijan' ...
Creating home directory `/ftpshare' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <--ftppassword
Retype new UNIX password: <--ftppassword
passwd: password updated successfully
Changing the user information for srijan
Enter the new value, or press ENTER for the default<--ENTER
Full Name []: <--ENTER
Room Number []: <--ENTER
Work Phone []: <--ENTER
Home Phone []: <--ENTER
Other []: <--ENTER
Is the information correct? [Y/n] <--Y
root@server1:~#Теперь мы добавим пользователя srijan в группу ftpgroup следующим образом:
adduser srijan ftpgroupДалее нам нужно сделать так, чтобы каталог был защищен от удаления и переименования его содержимого любым пользователем, поэтому мы изменим разрешения каталога следующим образом:
chmod -R 1777 /ftpshare/Далее нам нужно настроить ProFTPD следующим образом:
nano /etc/proftpd/proftpd.confВнесите изменения, как показано
[...]
UseIPv6 off
[...]
RootLogin off
RequireValidShell off
DefaultRoot ~
DenyGroup !ftpgroup
Я не использую IPV6, поэтому я отключил его выше, я отключаю вход пользователя root в ProFTPD с помощью RootLogon off. DefaultRoot добавлен, чтобы ограничить пользователей доступом только к их домашним папкам. DenyGroup позволит только пользователям из ftpgroup получить доступ к ftp-серверу, все остальные подключения будут отклонены.
Перезапустите службу следующим образом:
service proftpd restartИногда вы получите ошибку при перезапуске службы, например
root@server1:~# service proftpd restart
[ ok ] Stopping ftp server: proftpd.
[….] Starting ftp server: proftpdserver1 proftpd[6052]: mod_tls_memcache/0.1: notice: unable to register ‘memcache’ SSL session cache: Memcache support not enabled
. ok
root@server1:~#
Мы можем преодолеть эту ошибку, отредактировав файл /etc/proftpd/modules.conf и закомментировав строку следующим образом:
nano /etc/proftpd/modules.conf[...]
#LoadModule mod_tls_memcache.c
[...] Это устранит ошибку.
Теперь мы можем войти с пользователем srijan и паролем на ftp://192.168.0.100

3 Включение TLS в ProFTPD
Чтобы включить TLS в ProFTPD, откройте /etc/proftpd/proftpd.conf
nano /etc/proftpd/proftpd.confВнесите изменения следующим образом и раскомментируйте строку:
[...]
Include /etc/proftpd/tls.conf
[...] Теперь мы сделаем резервную копию оригинального файла, а затем отредактируем файл, как показано ниже:
cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig
cat /dev/null > /etc/proftpd/tls.conf
nano /etc/proftpd/tls.conf
Введите записи, как показано
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient off
TLSRequired on
Чтобы использовать TLS, мы должны создать SSL-сертификат. Я создам его в /etc/proftpd/ssl, поэтому сначала создаю этот каталог:
mkdir /etc/proftpd/ssl
После этого мы можем сгенерировать SSL-сертификат следующим образом:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pemCountry Name (2 letter code) [AU]: <– Введите название вашей страны (например, “DE”).
State or Province Name (full name) [Some-State]: <– Введите название вашего штата или провинции.
Locality Name (eg, city) []: <– Введите ваш город.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <– Введите название вашей организации (например, название вашей компании).
Organizational Unit Name (eg, section) []: <– Введите название вашего подразделения (например, “IT Department”).
Common Name (eg, YOUR name) []: <– Введите полное доменное имя системы (например, “server1.example.com”).
Email Address []: <– Введите ваш адрес электронной почты.
Теперь для безопасности я сделаю сертификаты только для чтения следующим образом:
chmod 0440 /etc/proftpd/ssl/proftpd.key.pemНаконец, перезапустите службу ProFTPD следующим образом:
service proftpd restartМы можем подключиться к серверу ProFTPD с помощью программы FileZilla. Вы должны установить FileZilla на клиенте, чтобы подключиться к серверу. Откройте FileZilla и введите данные следующим образом:
Данные будут:
Host = 192.168.0.100
Protocol = FTP
User = srijan
Port = может быть пустым, если вы не настраивали его на другой порт, кроме 21
Password = ftppassword (только что созданный выше)
Примечание: Поскольку мы зашифровали наше соединение на предыдущем шаге, мы будем использовать шифрование с Требовать явный FTP через TLS.
Если вы не настроили TLS, вы можете использовать Использовать обычный FTP.
Он спросит о доверии к сертификатам, нажмите OK
Он будет подключен к общему каталогу FTP.
4 Анонимный доступ к FTP в ProFTPD
Мы можем создать анонимную учетную запись FTP в ProFTPD, просто добавив эти записи в файл конфигурации ProFTPD:
nano /etc/proftpd/proftpd.confИ добавьте эти записи в конец файла,
[...]
###Анонимный общий доступ#####
User ftp
Group nogroup
AllowAll
# Мы хотим, чтобы клиенты могли войти с "anonymous", а также с "ftp"
UserAlias anonymous ftp
# Косметические изменения, все файлы принадлежат пользователю ftp
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Ограничить максимальное количество анонимных входов
MaxClients 10
# Ограничить запись повсюду в анонимном chroot
DenyAll
~ Теперь подключитесь через FileZilla следующим образом:

Примечание: Поскольку мы зашифровали наше соединение на предыдущем шаге, мы будем использовать шифрование с Требовать явный FTP через TLS.
Если вы не настроили TLS, вы можете использовать Использовать обычный FTP.
Нажмите Подключиться:

Он спросит о доверии к сертификатам, нажмите OK

Мы успешно подключились к серверу с анонимным пользователем.
Поздравляем! Теперь мы успешно настроили окружение сервера ProFTPD в Debian Wheezy :)
5 Ссылки
Debian : https://www.debian.org/
Ubuntu : http://www.ubuntu.com/
ProFTPD : http://www.proftpd.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.