Proftpd

Пред­ва­ри­тель­но нуж­но уста­но­вить репо­зи­то­рий epel
yum -y install epel-release

Thank you for reading this post, don't forget to subscribe!

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

мож­но доба­вить в самый конец фай­ла /etc/proftpd.conf
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/xfer.log
DebugLevel 9