Proftpd

Устанавливаем EPEL репозиторий:

#yum install epel-release

Устанавливаем ProFTPd:

#yum install proftpd

 

Добавим небольшие правки в начальный конфигурационный файл:

vi /etc/proftpd.conf

UseIPv6 off
IdentLookups off
PassivePorts 40900 40999

Разрешаем сервис и запускаем его:

systemctl enable proftpd

systemctl start proftpd

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

#useradd ftpuser -d /var/www -s /sbin/nologin

#passwd ftpuser

* в данном примере мы создали пользователя ftpuser с домашней директорией /var/www.

ProFTPd через TLS

Редактируем конфигурационный файл (приводим к следующему виду):

vi /etc/proftpd.conf

#<IfDefine TLS>
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
#  <IfModule mod_tls_shmcache.c>
#    TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
#  </IfModule>
#</IfDefine>

Генерируем сертификат:

openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»

Перезапускаем сервис:

systemctl restart proftpd

Виртуальные пользователи

В файле

Устанавливаем proftpd-utils:

#yum install proftpd-utils

Создаем каталог для хранения конфигурационных файлов froftpd:

#mkdir /etc/proftpd.d

Создаем файл с паролями:

#ftpasswd —passwd —file=/etc/proftpd.d/ftpd.passwd —name=vuser1 —uid=48 —gid=48 —home=/var/www —shell=/sbin/nologin

* где /etc/proftpd/ftpd.passwd — полный путь до файла, в котором хранятся пользователи; vuser1 — имя пользователя (логин); uid и gid — идентификаторы пользователя и группы системной учетной записи, от которой будет выступать сервер; /var/www — домашний каталог пользователя; /sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.

Редактируем proftpd.conf:

#vi /etc/proftpd.conf

Комментируем следующую строку:

#AuthOrder

Добавляем следующее:

RequireValidShell off
AuthUserFile /etc/proftpd.d/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c

Перезапускаем сервис:

#systemctl restart proftpd