Старий добрий протокол передачі 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.

Додав: htmaker, 17.09.2016 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Оновлення пакетів в CentOS
Рубрика: Linux

Bash: mail: command not found
Рубрика: Linux

Виставляємо тимчасову зону в CentOS 7
Рубрика: Linux

Налаштування SELinux, включення, відключення
Рубрика: Linux, Інф. безпека

Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Установка і настройка mSMTP на Linux
Рубрика: Linux

Установка GIT на CentOS 7
Рубрика: Linux

Як відключити IPv6 в CentOS 7?
Рубрика: Linux

Ротація логів в Linux
Рубрика: Apache, Linux