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