Установка ПО · 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 Ссылки
- CentOS : http://www.centos.org/
- ProFTPD : http://www.proftpd.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.