Установка ПО · 4 min read · Dec 17, 2025

Как установить ProFTPD на CentOS 7.0

Этот документ описывает, как установить и настроить ProFTPD на сервере CentOS 7.0. ProFTPD — это FTP-демон для Unix и подобных систем. ProFTPD разрабатывается, выпускается и распространяется под лицензией GNU Public License (GPL), что в основном устанавливает его как бесплатное программное обеспечение, что означает, что его можно продавать, лицензировать и иным образом манипулировать любым желаемым образом, при условии, что полный и полный исходный код либо сопровождает любые пакеты ProFTPD, либо предоставляется любыми и всеми сайтами, которые распространяют предварительно скомпилированные двоичные файлы. Программное обеспечение может быть изменено любым человеком в любое время, при условии, что все производные работы также лицензированы под лицензией GNU Public License.

1 Предварительная заметка

Этот учебник основан на сервере CentOS 7.0, поэтому вам следует установить базовую установку сервера CentOS 7.0, прежде чем продолжить с этим учебником. Система должна иметь статический IP-адрес. Я использую 192.168.0.100 в этом учебнике и server1.example.com в качестве имени хоста.

2 Установка ProFTPD

2.1 Установка:

Для этого включите EPEL следующим образом:

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

Сначала мы установим ProFTPD и OpenSSL следующим образом:

yum install -y proftpd openssl proftpd-utils

Нам нужно запустить службы

systemctl start proftpd.service  
systemctl enable proftpd.service

Дополнительно в CentOS 7.0 нам нужно настроить Firewall-cmd для ftp-сервиса следующим образом:

firewall-cmd --add-service=ftp --permanent  
firewall-cmd --reload

Мы можем проверить версию ProFTPD следующим образом:

proftpd -v

[root@server1 ~]# proftpd -v

ProFTPD Version 1.3.5

[root@server1 ~]#

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

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

groupadd ftpgroup

Затем я добавлю пользователя srijan в ftpgroup:

useradd  -G ftpgroup srijan -s /sbin/nologin -d /ftpshare  
passwd srijan
[root@server1 ~]# passwd srijan  
Changing password for user srijan.  
New password: <--ftppassword  
Retype new password: <--ftppassword  
passwd: all authentication tokens updated successfully.  
[root@server1 ~]# 

Теперь нам нужно сделать каталог защищенным от удаления и переименования его содержимого любым пользователем, поэтому мы изменим права доступа к каталогу следующим образом:

chmod -R 1777 /ftpshare/

Теперь мы готовы к подключению ProFTPD

Теперь мы можем войти с пользователем srijan и паролем на ftp://192.168.0.100

3 Включение TLS в ProFTPD

Чтобы включить TLS в ProFTPD, откройте /etc/proftpd/proftpd.conf, прежде чем редактировать файл, лучше сделать резервную копию оригинального файла, а затем отредактировать файл, как показано ниже:

cp /etc/proftpd.conf /etc/proftpd.conf.bak  
nano /etc/proftpd.conf   

Введите записи, как показано

[...]  
DefaultRoot                     ~ !adm
PassivePorts    6000    6100  
[...]   
  
#
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSRenegotiate                ctrl 3600 data 512000 required off timeout 300
  TLSLog                        /var/log/proftpd/tls.log
#  
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  
#  
[...] 

Я добавил порты 6000 и 6100 для разрешения пассивного режима ftp, аналогично я разрешу пассивный режим через службу firewalld CentOS следующим образом:

firewall-cmd --add-port=6000-6100/tcp --permanent  
firewall-cmd --reload

Мы можем проверить статус портов следующим образом:

firewall-cmd --list-ports
[root@server1 ~]# firewall-cmd --list-ports  
6000-6100/tcp  
[root@server1 ~]#

Дополнительно нам нужно сказать SELINUX разрешить чтение/запись файлов.

setsebool -P allow_ftpd_full_access=1

Чтобы использовать TLS, мы должны создать SSL-сертификат. Я создам его в /etc/pki/tls/certs, мы можем сгенерировать SSL-сертификат следующим образом:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

Генерация 1024-битного RSA закрытого ключа

……………………………..++++++

………++++++

запись нового закрытого ключа в ‘/etc/pki/tls/certs/proftpd.pem’


Вас попросят ввести информацию, которая будет включена

в ваш запрос на сертификат.

То, что вы собираетесь ввести, называется Уникальным именем или DN.

Есть довольно много полей, но вы можете оставить некоторые пустыми

Для некоторых полей будет значение по умолчанию,

Если вы введете ‘.’, поле останется пустым.


Название страны (2 буквы) [XX]:

<–DE

Название штата или провинции (полное название) []:

<– Гамбург

Название местности (например, город) [Город по умолчанию]:

<– Лунебург

Название организации (например, компания) [Компания по умолчанию]:

<– ISPConfig

Название организационного подразделения (например, отдел) []:

<– Разработка

Общее имя (например, ваше имя или имя вашего сервера) []:

<–

server1.example.com

Адрес электронной почты []:

<– [email protected]

[root@server1 certs]#

Введите указанные выше значения красным по вашему выбору, я просто привел пример.

Теперь для безопасности я сделаю сертификаты только для чтения следующим образом:

chmod  0440 /etc/pki/tls/certs/proftpd.pem

Наконец, перезапустите службу ProFTPD следующим образом:

systemctl restart proftpd.service

Мы можем подключиться к серверу ProFTPD с помощью программы Filezilla, вы должны установить Filezilla на клиенте, чтобы подключиться к серверу. Откройте Filezilla и введите данные следующим образом:

Данные будут:

Host = 192.168.0.100
Protocol = FTP
User = srijan
Port = может быть пустым, если вы не настраивали его на другой порт, кроме 21
Password = ftppassword (только что созданный выше)

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

Если вы не настроили TLS, вы можете использовать Использовать обычный FTP

Вас попросят доверять сертификатам, нажмите ОК

Подключение будет установлено к общему каталогу FTP с TLS-соединением.

4 Анонимный доступ к ftp в ProFTPD

Мы можем создать анонимную учетную запись ftp в ProFTPD, просто добавьте эти записи в файл конфигурации ProFTPD:

nano /etc/proftpd.conf

И добавьте эти записи в конец файла,

[...]  
###Анонимная доля#####

  User ftp
  Group ftp

UserAlias anonymous ftp
DirFakeUser       on ftp 
DirFakeGroup on ftp
MaxClients 10

        
     
DenyAll   
 
    

Теперь нам нужно перезапустить службы:

systemctl restart proftpd.service

Теперь подключитесь через Filezilla следующим образом:

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

Если вы не настроили TLS, вы можете использовать Использовать обычный FTP

Нажмите Подключиться:

Вас попросят доверять сертификатам, нажмите ОК

Мы успешно подключились к серверу с анонимным пользователем.

Поздравляем! Теперь мы успешно настроили окружение сервера ProFTPD в CentOS 7.0 :)

5 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.