ProFTPd
Установка и настройка FTP сервера на CentOS, используя ProFTPd
Al-Sher
Сегодня я решил рассказать про установку ProFTPd для создания FTP-сервера в CentOS 7.
Установка
Для начала нам необходимо установить EPEL репозиторий, ведь именно в нём находится ProFTPd:
yum install epel-release
После установки EPEL можно приступать к установке ProFTPd:
yum install proftpd
Открываем порты
Для подключения к FTP-серверу необходимо открыть порты, для этого выполним следующие команды:
firewall-cmd --permanent --add-port=20-21/tcp
firewall-cmd --reload
Разберемся про порты:
- 20 порт - FTP-DATA — для передачи данных FTP;
- 21 порт - FTP — для передачи команд FTP.
Базовая настройка ProFTPd
Вообще, FTP-сервер уже можно запускать командой
systemctl start proftpd
И подключаться с помощью любой "системной" учетной записью, но мы всё же для начала настроим сервер. Итак, все настройки FTP-сервера находятся в /etc/proftpd.conf. Добавляем в файл следующие строки:
RequireValidShell off
AuthOrder mod_auth_file.c
AuthUserFile /etc/proftpd/ftpd.passwd
DefaultRoot ~
И комментируем существующие параметры AuthOrder и DefaultRoot. Установим утилиты для ProFTPd:
yum install proftpd-utils
Создадим папку с нашими пользователями:
mkdir /etc/proftpd
И запустим следующую команду, которая создаст нового FTP-пользователя:
ftpasswd --passwd --name=ftpuser --home=/var/www/html --shell=/bin/false --uid=14 --gid=50
Эта команда вызывает утилиту ftpasswd, которая создаст пользователя с именем ftpuser, домашним каталогом /var/www/html, с id 14 и группой 50. Если gid не указать, то он будет таким же, как и uid. Создастся файл ftpd.passwd, его необходимо положить по пути /etc/proftpd/ftpd.passwd. Запускаем FTP-сервер и добавляем в автозагрузку:
systemctl start proftpd
systemctl enable proftpd
Можно пробовать подключиться к серверу.
Заключение
На этом думаю можно и заканчивать данную инструкцию. Всё очень легко, надеюсь у вас всё получится! Кстати, если вдруг захотите изменить пароль у ftp пользователя, то необходимо вызвать следующую команду:
ftpasswd --passwd --name=ftpuser --change-password
А для удаления:
ftpasswd --passwd --name=ftpuser --delete-user
Незабывайте, что команда ftpasswd работает с файлами, которые находятся в той же директирии, что и пользователь сейчас.