Установка proftpd на Centos 7

Linux > Установка proftpd на Centos 7
17.12.2016 20:47:39



Статья:

ставим сам пакет proftpd из репозитория:

yum install proftpd proftpd-utils

Открываем конфиг /etc/proftpd.conf добавляем туда строки:

AuthUserFile
AuthUserFile /etc/ftpd.passwd
RequireValidShell off
AuthPAM off
RootLogin off
#UseFtpUsers on
PassivePorts 30000 35000

Проверяем или есть настройка закрыть пользователя в его домашней директории чтобы не мог видеть другие каталоги в системе

DefaultRoot ~

найти и закоментировать настройку AuthOrder в конфиге /etc/proftpd.conf. Добавить в таком виде:

LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c

таким образом мы отключили другие способы авторизации, оставили только через наш файл виртуальных пользователей.

На этом редактирование конфига proftpd закончили, нужно создать файл /etc/ftpd.passwd и добавить пользователей.


ftpasswd --passwd --name ftpuser --uid 1001 --home /home/user/project/somefolder/ --shell /bin/false --file /etc/ftpd.passwd

нужно будет два раза ввести пароль пользователя, после чего все данные запишутся в файл /etc/ftpd.passwd
—name ftpuser имя виртуального пользователя
—uid 1001 указывается ID пользователя в системе под которым будет логиниться виртуальный созданный пользователь.
—home /home/user/project/somefolder/ указали папку в которую пользователь будет иметь доступ и не сможет выйти выше блягодаря настройке «DefaultRoot ~»

фиксим права доступа на файл с пользователями:

chgrp nobody /etc/ftpd.passwd
chmod 640 /etc/ftpd.passwd

Если используется firewalld в системе, открываем нужные порты:

firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-35000/tcp --permanent
firewall-cmd --reload

systemctl enable proftpd.service

ребутим сам proftpd
systemctl restart  proftpd.service

на этом все :), минимальная настройка FTP сервера proftpd готова c авторизацией через файл с вирт. пользователями.