Предварительно нужно установить репозиторий epel
yum -y install epel-release
1.Установка proftpd
yum install proftpd proftpd-utils
2. автозапуск
chkconfig proftpd on
3. создаём резервную копию:
cp /etc/proftpd.conf /etc/proftpd.conf.bak
4.Добавляем в /etc/proftpd.conf
обязательно модуль аутентификации из файла:
AuthOrder mod_auth_file.c
DefaultRoot ~
RequireValidShell off
<Global в данный блок>
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
DefaultRoot ~ не дает подняться выше своего каталога
5.Создаем папку если ее нет (под root в консоли):
mkdir /etc/proftpd
Права - root:root 755
6.Прописываем виртуального пользователя в файл (под root в консоли):
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=vuser1 --uid=48 --gid=48 --home=/var/www/html/vuser1 --shell=/bin/false
где:
--file=/etc/proftpd/vuser1.passwd - файл с паролями виртуальных юзеров
--name=vuser1 - имя первого/очередного виртуального юзера
--uid=48 - ID необходимого системного юзера (например "www-data")
--gid=48 - ID необходимой системной группы (например "www-data")
--home=/var/www/html/vuser1 - домашний каталог виртуального пользователя
7.Прописываем группу виртуального пользователя в файл (под root в консоли):
ftpasswd --group --file=/etc/proftpd/ftpd.group --name=vgroup --gid=48 --member=vuser1
где:
--file=/etc/proftpd/ftpd.group - файл групп виртуальных юзеров
--name=vgroup - имя виртуальной группы виртуального юзера
--gid=48 - ID необходимой системной группы (например "www-data")
--home=/var/www/html/vuser1 - домашний каталог виртуального пользователя
--member=vuser1 - виртуальный юзер - член виртуальной группы
ВАЖНО!
права на
"/etc/proftpd/ftpd.group"
"/etc/proftpd/ftpd.passwd"
должны быть 644
владелец /var/www/html/vuser1 должен быть системный пользователь, под чьим uid gid добавляли.
также должен быть отключен selinux
8. Логирование
Создаём каталог для хранения лог-файлов:# mkdir /var/log/proftpd/
Создаём сами файлы логов:
touch /var/log/proftpd/proftpd.log
touch /var/log/proftpd/xfer.log
touch /var/log/proftpd/access.log
touch /var/log/proftpd/auth.log
Редактируем файл конфигурации /etc/proftpd.conf В него добавляем строки:
LogFormat default “%h %l %u %t “%r” %s %b”
LogFormat auth “%v [%P] %h %t “%r” %s”
LogFormat write “%h %l %u %t “%r” %s %b”SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/xfer.log
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
и – перезапускаем ProFTPD:
# service proftpd restart
Уровень логирования устанавливается опцией DebugLevel, уровни от 0 до 9, где 9 – наиболее подробное логирование:
DebugLevel 9
ExtendedLog /var/log/proftpd/auth.log AUTH auth
SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/xfer.log
DebugLevel 9