ProFTPD vsFTPD

Материал из VAAL-WIKI
Перейти к: навигация, поиск

Введение

В данной статье кратко описан процесс развёртывание сервиса ftp на серверах с установленными ОС RHEL 6.x(CentOS 6.x) и RHEL 7.x(CetnOS 7.x).
Для ОС RHEL 6.x(CentOS 6.x) рассмотрена установка vsFTPD, в то время как для RHEL 7.x(CetnOS 7.x) — ProFTPD.

Установка vsFTPD в RHEL 6.x(CentOS 6.x)

1) Создаём пользователя ftpuser, назначаем ему домашнюю директорию /opt/ftp:

# useradd -d '/opt/ftp' -s /sbin/nologin ftpuser

2) Устанавливаем пароль для нового пользователя:

# passwd ftpuser

3) Создаём группу ftpusers для FTP пользователей, и добавляем в нее ftpuser:

# groupadd ftpusers
# usermod -G ftpusers ftpuser

4) Разрешаем пользователю чтение/запись в домашнюю директорию, изменяем права доступа и владельца:

# chown -R ftpuser:ftpusers '/opt/ftp'
# chmod 775 '/opt/ftp'

5) Устанавливаем vsftpd:

# yum install vsftpd -y

6) Добавляем сервис в автозагрузку:

# chkconfig --levels 235 vsftpd on

7) Стартуем сервис:

# service vsftpd start

8) Создаём резервную копию конфигурационного файла vsftpd.conf:

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bkp

9) Создаём файл /etc/vsftpd/chroot_list, внеся в него имя пользователя:

# echo 'ftpuser /opt/ftp'>/etc/vsftpd/chroot_list

10) Открываем в редакторе (vim, vi, nano) файл /etc/vsftpd/vsftpd.conf, и вносим изменения в следующие параметры (если параметр закомментирован его надо раскомментировать, если отсутствует — создать):

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
dual_log_enable=YES
chown_uploads=YES
chown_username=ftpuser
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES

11) Перезапускаем сервис, удаляем лишнее:

# service vsftpd restart

Установка proFTPD в RHEL 7.x(CentOS 7.x)

1) Инсталлируем proftpd:

# yum install -y proftpd proftpd-utils

2) Добавляем группу и пользователя vftp, задаём пароль:

# groupadd -g 510 vftp
# useradd -g 510 -u 510 -c 'Virtual FTP User' -d /home/vftp -s /sbin/nologin vftp
# passwd vftp

3) Создаём виртуальных пользователей сервиса ftp и директории:

# /usr/bin/ftpasswd --passwd --file /etc/ftpd.passwd --name=ftpuser --shel=/sbin/nologin --home=/opt/ftp --uid=510 --gid=510
# mkdir -p /opt/ftp
# chown -R vftp:vftp /opt/ftp
# /usr/bin/ftpasswd --group --name=vftp --file=/etc/ftpd.group --gid=510 --member ftpuser

4) Комментируем(символ комментария — #) в конфиге /etc/proftpd.conf следующие строки:

AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

5) Редактируем(добавляем/изменяем) в конфиге /etc/proftpd.conf следующие строки:

AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group
AuthOrder mod_auth_file.c
RequireValidShell off
AuthPAMConfig proftpd

6) Проверяем синтаксис конфига:

# proftpd -t

7) Настраиваем автозапуск сервиса, стартуем сервис, проверяем статус:

# systemctl enable proftpd.service
# systemctl start proftpd.service
# systemctl status proftpd.service

8) Проверяем доступность ftp сервиса, подключившись под пользователем/паролем ftpuser/ftpuser

Ссылки

Настройка proFTPD на FreeBSD 11
Настройка ProFTPd для хостинга
Установка и настройка ProFTPD с авторизацией виртуальных пользователей на CentOS
proFTPD на CentOS 7