FTP нужен для передачи файлов по локальной сети и интернету, и при этом он более платформонезависим, нежели SMB. Минимальную поддержку этого протокола ообеспечивают все веб-браузера, а проводник на Windows и Nautilus на Linux-системах предоставляют полную работу над файлами в стандартном, привычном интерфейсе.
Короче говоря, крутая вещь, как ни крути, и бессмертная. Подойдёт для передачи файлов в небольшой сети, чтобы скинуть файлы другу, или для предоставления ресурсов на постоянной основе без частой многопользовательской нагрузки. Если же нужно именно последнее, но понадобятся P2P-решения, но об этом не здесь.
Возьмём Pure-FTPd — он прост в использовании, но обладает гибкой настройкой, а также поддержку шифрующих надстроек над стандартным протоколом фтп — SSL/TLS.
Перед этим была попытка поставить vsftpd, но она кончилась баттхёртом, а здесь вот несколько красивых сниппетов в духе «скопировал — и готово».
Выберем, как мы будем разграничивать доступ:
- можно разрешить анонимный доступ — тогда любой без пароля может войти на сервер. Без дополнительной конфигурации это даёт частичный доступ ко всему компьютеру, что может быть опасно.
- можно создать отдельного пользователя с паролем, и тогда гости смогут заходить под этой парой логин-пароль. Это подходит для автозапуска в системе.
В любом случае идёт поддержка профилей пользователей на системе сервера. Можно будет зайти, например, под профилем админа, введя свой пароль, и получить так по сети полный доступ.
Указываю коды для dnf
(напр. для Fedora и EnterpriseLinux). Пользователям Debian и Ubuntu нужно заменить dnf
на apt-get
.
Анонимный доступ
Выполняем:
sudo useradd ftp
sudo dnf install pure-ftpd
sudo usermod -a -G ftp ftp
sudo pure-ftpd &
Всё, готово :)
Доступ под пользователем-гостем
Здесь этот специальный пользователь называется ftpguest
. Выполняем:
sudo useradd ftpguest
sudo passwd ftpguest
Вводим пароль пользователя. Символы будут скрыты. Применяем и добавляем оставшиеся команды:
sudo dnf install pure-ftpd
sudo usermod -a -G ftp ftpguest
sudo pure-ftpd &
Ручной запуск сервера & настройки
В сниппетах за запуск сервера отвечает команда sudo pure-ftpd &
Можно указать, для какого адреса (и, соответственно, и сетевого интерфейса) будет работать сервер:
sudo pure-ftpd -S 192.168.0.42,21
sudo pure-ftpd -S ftp.example.com,21
Другие настройки можно найти в официальном Readme.
Сервер проверен и работает; в ночь после написания статьи друг успел скачать без нареканий скомпилированный Unreal Engine в 30 гигов.
Спасибо, за краткую и информативную статью. Очень помогло. Ещё раз Спасибо.
ОтветитьУдалить