Установка 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 -v

root@server1:~# proftpd -v

ProFTPD Version 1.3.4a

root@server1:~#

2.2 Создание пользователей ProFTPD

Для этого я создам группу ftpgroup и пользователя srijan для ProFTPD. Я ограничу пользователя srijan с домашним каталогом /ftpshare

addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
root@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.pem

Country 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 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.