О web-разработке
и даже немного больше...

vsftpd (secure FTP) на CentOS

Старый добрый протокол передачи FTP позволяет передавать файлы по сетям, и скорее всего вам когда-либо приходилось с ним сталкиваться, либо вы о нем слышали. По умолчанию использует 21 порт (так сложилось исторически), и традиционно служит для обмена файлами, между машинами, по схеме клиент-сервер, как впрочем, и многие другие протоколы. FTP является героем своего времени, и сегодня он имеет довольно большую востребованность, для задач публичных ftp серверов. Кроме того, многие хостинговые компании продолжают поддерживать этот протокол, ввиду его удобства для обмена файлами.

В данном посту мы рассмотрим установку сервера ftp на операционную систему CentOS Linux. В силу того, что он был разработан довольно таки давно, первоначальный ftp является не защищённым в плане шифрования трафика и т.д., что сегодня подрывает его актуальность по современным меркам безопасности. Поэтому наиболее оптимальным выбором для большинства пользователей, которым нужен ftp сервер, является софт vsftp (Very Secure FTP daemon). Стоит отметить его надежность, а так же простоту настройки FTP сервера.

Установка vsftpd
Для установки сервера vsftpd вам необходимо авторизоваться под root-ом, затем выполнить команду:

# yum install vsftpd

Данный пакет входит в стандартный репозиторий CentOS, и проблем с установкой данного софта проблем возникнуть не должно. После того как прошел процесс установки, можно добавить запуск сервера при старте системы:

# chkconfig vsftpd on

После того как сервер был установлен, базовая конфигурация позволяет работать серверу с настройками по умолчанию. Для того чтобы внести изменения в настройки конфигурации, вам достаточно править конфигурационный файл:
/etc/vsftpd/vsftpd.conf

Рекомендуется в таком случае, перед тем как что-то дополнительно настраивать сохранить резервную копию конфигурационного файла. Чтение документации позволит настроить сервер «под себя» с наименьшим расходом времени, нервов, да и мало ли. Там описано назначение множества параметров, о которых я не буду расписывать здесь.
После этого можно запускать сервер, но есть ещё кое-что, что может помешать работе сервера, это файрвол, как и в большинстве случаев с конфигурацией серверов, следует разрешить подключение к вашему серверу.

Правила в iptables
Открываем конфигурационный файл iptables:

/etc/sysconfig/iptables

Добавляем правила для ftp сервера:

iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

Не забываем, чтобы правила вступили в силу, iptables следует перезапустить.

# service iptables restart

Запуск vsftpd

# service vsftpd start

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

 
Пример простой конфигурации сервера

Правим файл конфигурации:

# vi /etc/vsftpd/vsftpd.conf

Запрет выхода пользователя из домашней дирректории

chroot_local_user=YES

Запрещаем анонимный вход на сервер

anonymous_enable=NO

 
Создание пользователей FTP
Добавляем пользователя

# useradd ftpuser

Задаем пароль для созданного пользователя

# passwd ftpuser

Дарее правим файл /etc/passwd
Находим строку пользователя ftpuser:

ftpuser:x:513:513::/home/ftpuser:/bin/bash

/home/ftp — домашний каталог пользователя;
/sbin/nologin — запрет на доступ пользователя к системе;

Для удобства использования можно создать группу к примеру ftpusers, затем задать соотвествующие права на папку /home/ftp

Одни из популярных программ для подключения к FTP-серверу это FileZilla или Total Commander
(см. как установить SFTP плагин в Total Commander). Так же на нашем сайте есть пост о том, можно использовать обмен по SFTP между двумя серверами Linux.

Настраивается подключение так же как и в других случаях, в настройках подключения указываем адрес сервера, имя пользователя ftpuser, пароль.
Корневую дирректорию, можно не указывать, т.к. по умолчанию ею будет /home/ftp.

Опубликован: 17.09.2016 г.

См. также:

Установка и использование FFmpeg в CentOS 7
Сжатие PDF-файлов в Linux
Установка Node.js на Linux CentOS 7
Обновление пакетов в CentOS
Bash: mail: command not found
Выставляем временную зону в CentOS 7
Настройка SELinux, включение, отключение
Меняем пароль root в MySQL 5.7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта