Создание ftp сервера на linux. Установка и настройка FTP сервера Linux. Защита данных с помощью SSL

  • 25.01.2022

В этом руководстве расскажем, как установить FTP сервер на VPS с ОС Ubuntu. Будем использовать сервер vsftpd , который считается самым быстрым и безопасным FTP сервером для UNIX-систем.

FTP или F ile T ransfer P rotocol – протокол приема и передачи файлов в сети. Используя модель клиент/сервер и безопасность SSL/TLS, FTP позволяет пользователям обмениваться файлами с удаленными компьютерами безопасно, эффективно и надежно, передавая данных по протоколу TCP/IP.

FTP работает подобно HTTP или SMTP, с единственным отличием, что он ответственен за безопасную передачу данных от отправителя к получателю, а не веб-страницы с сервера к пользователю или электронного письма через интернет. В этом руководстве рассмотрено создание FTP сервера на ОС Ubuntu версии 16.04.

Примечание: Текущее руководство основывается на версии ОС Ubuntu 16.04. Но вы можете применить те же шаги по созданию FTP сервера на Ubuntu 14.04.

Прежде всего, давайте сделаем обновление всех пакетов перед началом установки демона vsftpd. Для этого выполним команду:

Sudo apt-get update

Дождитесь завершения всех процессов и вы увидите подтверждающее сообщение:

Затем установим демон vsftpd следующей командой:

Sudo apt-get install vsftpd

Вы получите уведомление требующее подтверждения, нажмите Y и Enter для продолжения установки.

По завершению установки, сделаем бэкап оригинального файла конфигурации, чтобы начать с чистого файла настроек:

Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Теперь мы можем переходить к следующему шагу и настраивать фаервол.

Шаг 2 – Разрешение FTP трафика на фаерволе

Чтобы позволить серверу FTP, развёрнутому на ОС Ubuntu взаимодействовать с внешним миром, нужно настроить путь через фаервол. Для начала посмотрим включён ли фаервол. Запустите следующую команду для определения статуса:

Sudo ufw status

Если вы увидите такое сообщение:

Ufw: command not found

Это значит, что фаервол не установлен и можно перходить к следующему шагу.

Если же на выходе будут показаны правила или сообщение о том, что фаервол активен, нужно определить, как он будет обрабатывать FTP-трафик. Давайте сделаем следующее, откроем порты 20 и 21 для трафика FTP; порты 40000-50000 будут зарезервированы, как диапазон пассивных портов, который в конечном итоге будет установлен в файле конфигурации; порт 990 будет использоваться, когда TLS будет включен. Выполним следующие команды:

Sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp

Теперь посмотрим на статус:

Результат будет выглядеть где-то так:

Output Status : active To Action From -- -- -- -- -- -- 990 / tcp ALLOW Anywhere 20 / tcp ALLOW Anywhere 21 / tcp ALLOW Anywhere 40000 : 50000 / tcp ALLOW Anywhere 20 / tcp (v6 ) ALLOW Anywhere (v6 ) 21 / tcp (v6 ) ALLOW Anywhere (v6 ) 990 / tcp (v6 ) ALLOW Anywhere (v6 ) 40000 : 50000 / tcp (v6 ) ALLOW Anywhere (v6 )

Теперь, все необходимые порты открыты и доступны для нас и мы можем переходит к следующему шагу.

Шаг 3 – Создание каталога пользователя

На третьем шаге создания Ubuntu FTP сервера, нужно выбрать пользователя, который будет подключатся по FTP. Для этого создадим нового пользователя, выполнив такую команду:

sudo adduser alex

Заполните пароль и другие детали, когда запросит. В идеале, с точки зрения безопасности, FTP должен быть ограничен одним специальным каталогом. Vsftpd использует chroot для создания этой защиты. Со включённым chroot, локальный пользователь ограничивается его домашним каталогом (по умолчанию). Однако, может оказаться, что из-за защиты vsftpd, пользователь не сможет ничего создавать в каталоге. Мы не убираем права на запись в домашнем каталоге, вместо этого мы сделаем каталог ftp, который будет вести себя как chroot вместе с сохранением способности к записи, что будет позволять хранить файлы. Используйте такую команду для создания каталога FTP:

sudo mkdir / home / alex / ftp

Установите права владения:

sudo chown nobody : nogroup / home / alex / ftp

Наконец, удалите права на запись:

sudo chmod a - w / home / alex / ftp

Теперь, используя следующую команду проверьте права доступа:

sudo ls - la / home / alex / ftp

На выходе мы увидим приблизительно это:

total 8 dr - xr - xr - x 2 nobody nogroup 4096 Jun 29 11 : 32 . drwxr - xr - x 3 alex alex 4096 Jun 29 11 : 32 . .

На следующем этапе мы создадим файл, содержащий каталоги и права доступа к ним:

sudo mkdir / home / alex / ftp / files sudo chown alex : alex / home / alex / ftp / files

И наконец, добавим в каталог тестовый файл, который мы будет использовать во время тестирования чего-либо:

echo "vsftpd sample file" | sudo tee / home / alex / ftp / files / sample . txt

Шаг 4 – Настройка vsftpd

Чтобы продолжить устанавливать FTP сервер на Ubuntu VPS, нам нужно настроить vsftpd и наш FTP-доступ. В этом руководстве мы разрешим одному пользователю подключаться по FTP, используя локальную консоль. Необходимая для этого двух этапная настройка уже установлена в конфигурационном файле (vsftpd.conf ). Вначале проверьте, чтобы настройки в файле совпадали с указанными ниже, :

sudo nano / etc / vsftpd . conf . . . # Allow anonymous FTP? (Disabled by default). anonymous_enable = NO # # Uncomment this to allow local users to log in. local_enable = YES . . .

В этом же файле, продолжим удаляя # включаем write_enable :

. . . write_enable = YES . . .

Chroot также раскоментируем, чтобы убедиться, что пользователь, подключившийся по FTP имеет доступ к файлам внутри разрешённой директории:

. . . chroot_local_user = YES . . .

Несколько новых значений будут также нужны для добавления вручную. Вы можете просто вставить их в конец файла. Вначале, user_sub_token добавим к пути каталога local_root. Это позволит конфигурации работать с текущим пользователем и любым другим пользователем, который будет добавлен позже:

user_sub_token = $ USER local_root = / home / $ USER / ftp

Чтобы быть уверенным, что доступно достаточное количество соединений, мы ограничим количество портов, используемое в конфигурационном файле:

pasv_min_port = 40000 pasv_max_port = 50000

В этом руководстве мы планируем дать доступ индивидуальной основе, поэтому давайте установим настройки так, чтобы дать доступ только тем пользователям, которые непосредственно добавлены в список:

userlist_enable = YES userlist_file = / etc / vsftpd . userlist userlist_deny = NO

Флаг userlist_deny отвечает за переключение логики, когда он установлен в “NO”, только те пользователи, которые есть в списке имеет доступ. По завершению нажмите CTRL+X и подтвердите сохранения изменений в файле.

В завершение, продолжим создание и добавление нашего пользователя в файл:

echo "alex" | sudo tee - a / etc / vsftpd . userlist

Проверим, что пользователь действительно активен запуском команды:

cat / etc / vsftpd . userlist

Вывод должен быть “alex ”, как показано на скриншоте:

Перезапустите демона, используя следующую команду, чтобы запустить изменения настроек:

sudo systemctl restart vsftpd

Шаг 5 – Делаем защищенный FTP

По умолчанию, FTP не делает никакого шифрование данных, поэтому мы будем использовать TLS/SSL, чтобы позаботиться о безопасности. В качестве первого шага нам нужно создать SSL сертификат и использовать его для защиты Ubuntu FTP сервера. Для начала выполним следующую команду:

Sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Флаг –days делает сертификат действующим в течение года и мы включаем 2048-битный приватный ключ RSA в этой же команде. Когда запросит нужные данные введите их в предоставленном поле.

После создания сертификата ещё раз откройте конфигурационный файл:

Sudo nano /etc/vsftpd.conf

В конце файла есть строка с “_rsa ”. Закомментируйте эти две строки:

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Вместо этого мы направим конфиг файл на сертификат, который мы создали. Добавьте такие строки:

Rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Теперь мы включим SSL и убедимся, что только пользователи со включённым SSL могут с нами связываться. Измените значение ssl_enable на YES :

ssl_enable = YES

Теперь добавьте следующие строки для продолжения создания защиты (это запретить какие-либо анонимные соединения с использованием SSL):

Allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES

Настройте TLS используя:

Ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO

Здесь мы добавим ещё 2 опции. Во-первых, повторное использование SSL не будет необходимым, потому что это может привести к разрывам у большого количества клиентов. Во-вторых, мы будем использовать высокозащищенный код шифрования, что будет означать, что длина ключа соответствует (или больше, чем) 128 бит.

Require_ssl_reuse=NO ssl_ciphers=HIGH

Сделаем ещё раз перезапуск, для вступления изменений в силу:

Sudo systemctl restart vsftpd

Прекрасно! Вот вы и настроили FTP сервер на вашем Ubuntu VPS для работы с протоколом SSL/TLS.

Шаг 6 – Проверка подключения, используя FileZilla

Сегодня FTP клиенты поддерживают настройку шифрования TLS, поэтому это прекрасная возможность проверить, работает ли наш Ubuntu FTP сервер как следует. Чтобы проверить соединение, будем использовать . Для начала запустите FileZilla, нажатием на иконку Site Manager .

Нажмите на кнопку New Site в появившемся окне начните заполнять данные о Ubuntu FTP сервере.

Заполните необходимые поля информацией о недавно созданном Ubuntu FTP сервере. Так как мы настроили его с использованием TLS, мы может отметить настройку шифрования в “explicit FTP over TLS” положение. Окончательное окно настроек выглядит так:

Как только настроите, нажимайте Connect и появится окошко с запросом для введения пароля пользователя FTP.

В заключение вам нужно будет подтвердить SSL сертификат на вашем FTP сервере на Ubuntu VPS.

После подтверждения, корневой root-каталог с тестовым файлом появятся на вашем экране.

Это всё! Теперь вы можете производить любую передачу файлов с вашего компьютера на Ubuntu FTP сервер и обратно.

Заключение

В этом руководстве мы прошли шаг за шагом путь создания для локального пользователя безопасного способа передачи файлов через FTP с SSL/TLS на Ubuntu FTP сервере. Также мы протестировали соединения, используя FileZilla, чтобы убедиться, что всё работает.

Совсем недавно я писал о том, на свой компьютер. Это очень полезно для вебмастера, так как установив себе такой "домашний" сервер, можно проводить различные эксперименты с тестовыми сайтами или просто вести их разработку.

Но есть одна проблема: если вы, к примеру, попытаетесь на таком локальном сервере установить тот же плагин в wordpress, то получите отказ: "Не удалось подключиться к FTP-серверу localhost:21 "

Как вы понимаете, вам нужно установить и настроить ftp сервер на своём компьютере, чтобы осуществить установку плагинов. Как установить ftp сервер на свой компьютер в Linux?

В Linux есть много бесплатных серверов, я пробовал несколько и остановился на vsftpd. Этот сервер лёгок и прост в настройке.

1. Как установить ftp сервер vsftpd?

Установить его можно одной командой:

Sudo apt-get install vsftpd

После установки сервера нам нужно его немного под настроить. Но сначала протестируем наш ftp сервер, введём в браузер такой адрес: ftp://127.0.0.1/ Мы должны увидеть следующее:


Но мало установить сервер vsftpd, это как вы видите делается просто, важно настроить ftp сервер. Но и это делается просто, если следовать моему опыту.

2. Как настроить ftp сервер vsftpd?

Чтобы добраться до настроек сервера, введите в терминале команду:

Sudo gedit /etc/vsftpd.conf

Удаляем из этого файла всю и вставляем вот это:

Listen=YES # делаем анонимный доступ, с правом записи anonymous_enable=YES no_anon_password=YES anon_root=/ПУТЬ К ПАПКЕ С САЙТОМ! anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_umask=022 # разрешаем вход локальным пользователям с правом записи в домашних директориях local_enable=YES local_umask=022 write_enable=YES # помещаем локальных юзеров в их домашние каталоги, иначе пользователю будет доступен корень системы. chroot_local_user=YES chroot_list_enable=YES # настройки журналирования xferlog_enable=YES vsftpd_log_file=/var/log/vsftpd.log

Перезагружаем ftp сервер командой:

Sudo /etc/init.d/vsftpd restart

Да, ещё очень важно! На папку с сайтом и и всем файлам к ней нужно дать доступ 755, публичные права на запись давать папке НЕЛЬЗЯ !

Установить новую, более правильную версию сервера можно добавив :

Sudo add-apt-repository ppa:thefrontiergroup/vsftpd sudo apt-get update sudo apt-get install vsftpd

После этого идём в админку WordPress и пробуем установить какой-нибудь плагин. Нас попросят ввести адрес сервера, логин и пароль. В строке сервера пишем 127.0.0.1 , а логин и пароль пишем - anonymous

Если у вас появится ошибка: Не удалось определить директорию содержимого WordPress (wp-content), то нужно в конец файла wp-config.php вставить такой код:

If (is_admin()) { add_filter ("filesystem_method", create_function("$a", "return "direct";")); define ("FS_CHMOD_DIR", 0751); }

После этого у меня всё заработало. Так настройка vsftpd сервера для меня закончилась. Вот так можно установить и настроить ftp сервер vsftpd на своём домашнем компьютере.

Такой сервер, конечно, не будет слишком производительным, это вам не настоящий сервер IBM HS23e на SSD дисках. И если вы дадите к нему доступ всей своей локальной сети, ваш компьютер может изрядно попотеть, постоянно что то копируя.

Но моя цель вам понятна, но она, конечно, не единственная. FTP сервер на своём компьютере можно использовать для разных целей, и чаще всего такие простые настройки вам подойдут. Если нет, то в сети много мануалов по настройке этого FTP сервера. Успехов!

Дописываю: как оказалось, в моем случае можно вообще обойтись без FTP. Проще работать через SSH и плагина ssh-sftp-updater-support, который добавляет протокол SSH в WordPress. Так намного безопаснее и не нужно поднимать FTP сервер.


Не нашли ответ на свой вопрос? Воспользуйтесь поиском...

Н а этом уроке мы покажем вам установку и настройку VSFTPD на в . VSFTPD является аббревиатурой от очень безопасного протокола передачи файлов Daemon. Это бесплатный и с открытым исходным кодом, быстрый, стабильный, легкий и очень безопасный FTP – сервер для операционных систем Unix и Linux, установленных в соответствии с GNU General Public License. VSFTPD является одним из наиболее часто используемых FTP – серверов для Linux и используется в качестве FTP – сервера по умолчанию в некоторых из самых больших дистрибутивах, таких как , Fedora, Ubuntu, NimbleX, Slackware и RHEL.

Для того чтобы установить VSFTPD на вашем сервере Ubuntu 16.04, вы должны войти через SSH как пользователь root

Ssh root@IP_address

Прежде всего, убедитесь, что все установленные пакеты находятся в актуальном состоянии

Apt-get update && apt-get upgrade

Все, что вам нужно сделать, чтобы установить VSFTPD на вашем Ubuntu 16.04 VPS, это выполнить следующую команду в вашем терминале Linux

Apt-get -y install vsftpd

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

Vim /etc/vsftpd.conf # Контроль анонимного вход, разрешен или нет. anonymous_enable=NO # Локальные пользователи для входа в систему local_enable=YES # Набор "write_enable", для того, чтобы разрешить изменения в файловой системы write_enable=YES # включить отправку в ASCII (для предотвращения загрузки скриптов и т. д. от взлома), # без риска Осн размера и скачивания в формате ASCII. ASCII должен быть # на клиенте в любом случае.. ascii_upload_enable=YES ascii_download_enable=YES # Можно задать корневой каталог для пользователей FTP. Если не указано, домашний каталог пользователя равен корневому каталогу FTP local_root=public_html

Сохраните файл конфигурации и перезапустите FTP-сервер для того, чтобы изменения вступили в силу

Systemctl restart vsftpd

Установите VSFTPD на автоматический запуск при загрузке системы

Systemctl enable vsftpd

Вы можете найти список всех опций в файле конфигурации на http://vsftpd.beasts.org/vsftpd_conf.html

Корневые логин по умолчанию отключен в VSFTPD по соображениям безопасности. Для того, чтобы получить доступ к своему FTP-сервер, вам придется создать нового пользователя системы

Adduser FTPUSER

Где FTPUSER это имя пользователя, которого вы хотите создать. Вам будет предложено ввести новый пароль для нового пользователя и несколько дополнительных сведений, таких как полное имя пользователя, номер телефона, и т.д.. Пожалуйста, обратите внимание, что очень важно всегда использовать для учетных записей. Лучше всего использовать комбинацию букв и цифр и не менее 10 символов.

Теперь, как только ваш FTP-сервер и установлен и настроен, и создается новый пользователь FTP, вы можете получить доступ к FTP-серверу с помощью вновь созданного пользователя с помощью терминала, веб-браузер или с помощью клиента FTP, такие как FileZilla.

За основу взяты статьи:

Почти каждый пользователь, работающий в сети интернет, сталкивался хотя бы раз с FTP. Здесь описано, как установить FTP сервер на машину и обеспечить его безопасность.

Мы будем использовать легкий и эффективный FTP-сервер vsFTPd, предназначенный для работы на высоконагруженных серверах. Далее в этой статье мы будем говорить просто об FTP-сервере, подразумевая vsFTPd.

1. Что такое FTP

FTP расшифровывается как File Transfer Protocol - протокол передачи данных. Название подразумевает, что этот протокол используется для передачи файлов или директорий с одного хоста на другой по сети - как локальной, так и через интернет.

2. Установка FTP-сервера в Ubuntu

Чтобы установить vsftpd откройте консоль и выполните команду:

sudo apt-get install vsftpd
После выполнения этой команды сервер будет установлен и запущен.
Setting up vsftpd (2.3.5-1ubuntu2) ...

vsftpd start/running, process 1891

3. Варианты запуска службы FTP

vsftpd может быть запущен тремя различными способами. Первый способ - запуск через inetd . Второй - через xinetd , третий - запускать сервер вручную (автономный режим).
По умолчанию vsftpd запускается в автономном режиме, в котором запускаемая на сервере служба использует собственный стартовый скрипт, называемый демоном. В случае vsftpd это /etc/init.d/vsftpd . Данный автономный демон в момент старта службы FTP берет управление нею на себя. Демон vsftpd предоставляет администратору несколько команд для управления FTP-сервером vsftpd:

start или stop - используется для запуска или остановки ftp-сервера.
status - выводит подробную информацию о текущем состоянии вашего FTP-сервера.
restart - это альтернатива последовательности из остановки и запуска сервера. Если сервер уже остановлен, команда restart запустит его.
reload - эта команда позволяет перезагрузить и применить все новые настройки. Ее отличие от restart заключается в том, что применение новых настроек производится без остановки сервера.
Чтобы выполнить данные команды, напечатайте:

sudo start/stop/status/restart/reload vsftpd

Однако автономный режим менее гибкий, inetd старый, так что рекомендуется запускать vsftp через xinetd . В нем есть такие вещи как регистрация запросов, контроль доступа, привязка сервиса к определенному сетевому интерфейсу и т.д.

4. Запуск службы FTP через xinetd

Устанавливаем суперсервер xinetd:

sudo apt-get install xinetd
Приведенная выше команда устанавливает и запускает суперсервер xinetd. В случае, если он у вас уже установлен, эта команда не нужна. Далее, создайте файл vsftpd в директории /etc/xinetd.d/ со следующим содержимым:

service ftp

Disable = no

Socket_type = stream

Wait = no

User = root

Server = /usr/sbin/vsftpd

Per_source = 5

Instances = 200

No_access = 10.1.1.10

Banner_fail = /etc/vsftpd.busy

Log_on_success += PID HOST DURATION

Log_on_failure += HOST

В то же время вы можете изменять любые опции, чтобы настроить суперсервер в соответствии со своими требованиями.
Опции, на которые стоит обратить внимание:
server - введите в командной строке "$ which vsftpd", чтобы узнать правильный путь.
no_access - все хосты с IP-адресами, указанными в этой директиве, будут блокированы.
banner_fail - здесь можно указать путь к текстовому файлу, содержимое которого будет показано для любых блокированных IP-адресов.

Эта директива даст команду FTP-серверу не открывать никаких портов, полностью перепоручив их суперсерверу xinetd. Перед тем, как запустить сервер в нормальном режиме, убедитесь, что демон vsftpd отключен:
sudo service vsftpd stop

Теперь можно запустить FTP-сервер с помощью команды:
sudo service xinetd restart

Чтобы убедиться в нормальной работе FTP-сервера, протестируйте и откройте порт 21 с помощью команды netstat:
$ netstat -ant | grep 21 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

5. Настройка FTP сервера

Настройка vsftpd производится внесением изменений в конфигурационный файл /etc/vsftpd.conf .

Примечание: при внесении любых изменений в настройки FTP-сервера не забудьте воспользоваться командой restart/reload, чтобы активировать их.

5.1 Настройка пользовательского доступа

vsftpd позволяет предоставить либо анонимный доступ, либо пользователям из файла /etc/passwd , либо из своего собственного списка.

Анонимный доступ

Примечание: Открывать анонимный доступ опасно, а анонимный доступ без пароля еще опаснее. Это плохая идея. Лучше не делайте так, а просто почитайте для справки.

Чтобы предоставить анонимный доступ, в конфигурационном файле задайте директиве anonymous_enable значение YES:

anonymous_enable=YES

Для доступа без пароля дополнительно пропишите:

no_anon_password=YES

Теперь доступ к FTP серверу можно получить через пользователя anonymous. Для этого просто введите команду ftp с аргументом localhost или ip адресом вашего сервера:

$ ftp localhost Connected to localhost. 220 (vsFTPd 2.3.5) Name (localhost:root): anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ftp> quit 221 Goodbye.

Доступ локальных пользователей

Чтобы позволить авторизоваться всем пользователям, указанным в файле /etc/passwd , необходимо изменить значение директивы local_enable в файле /etc/vsftpd.conf .
local_enable=YES
Теперь любой пользователь, указанный в файле /etc/passwd , сможет авторизоваться, используя свой пароль.

Список доступа пользователей

Сначала создадим список доступа, используемый сервером vsFTPd. Обычно вы можете задать его в директории /etc/ . Создайте файл с произвольным именем и перечислите в нем всех пользователей, которым вы хотите разрешить или запретить доступ. Например, давайте создадим новый список с единственным пользователем "root":
echo root > /etc/vsftpd.userlist
Далее, определим новый список пользователей в конфиграционном файле /etc/vsftpd.conf и активируем директиву userlist_enable :
userlist_file=/etc/vsftpd.userlistuserlist_enable=YES Таким образом всем пользователям, перечисленным в файле /etc/vsftpd.userlist , будет отказано в доступе к FTP-серверу.

$ ftp localhostConnected to localhost.220 (vsFTPd 2.3.5)Name (localhost:root): lubos530 Permission denied.Login failed.ftp> Чтобы разрешить доступ всем пользователям, перечисленным в файле /etc/vsftpd.userlist , установите значение "NO " для директивы userlist_deny . При этом вы открываете доступ только пользователям, перечисленным в /etc/vsftpd.userlist . Каждое имя пользователя в этом файле должно располагаться на отдельной строке.

5.2 Другие настройки

На сегодняшний день vsFTPd имеет 125 опций конфигурации. Это делает его очень гибким в настройке и в то же время простым в использовании и администрировании. Хотите ли вы использовать его дома, в пределах корпоративной сети, или на удаленном сервере, вы можете быть уверены, что vsFTPd полностью удовлетворит ваши нужды.

Существует большое количество программ, позволяющих развернуть на компьютере под управлением Linux FTP сервер, и, естественно, каждая из них отличается своими особенностями и нюансами.

В рамках данной статьи мы постараемся максимально простым языком изложить особенности того, как происходит настройка FTP сервера Linux VSFTP.

Почему в качестве примера был выбран именно он? Все просто: это довольно качественный продукт, поддерживающий работу IPv6, SSL, он позволяет контролировать пропускную возможность канала, создавать виртуальных пользователей и т.д.

Этот FTP сервер к тому же достаточно популярен среди сообщества Open Source, достаточно только посмотреть кто использует его: debian, gnome, freebsd и многие другие.

Настройка FTP сервера Linux

Итак, перейдем непосредственно к настройке FTP сервера Linux.

Первым делом потребуется установить программное обеспечение, в Debian это делается командой
aptitude Install vsftpd
После загрузки и инсталляции автоматически будет создан новый пользователь, в домашней директории создастся новый каталог, а в /etc появится файл ftpusers, в который можно вписать тех пользователей, которым нельзя иметь доступ к FTP.

Следует сразу же отметить тот факт, что когда осуществляется настройка FTP сервера Linux, то первым делом лучше перенести директорию, в которой будут храниться файлы с домашнего каталога в /var.

Для этого потребуется сделать следующее: открываем консоль и от имени суперпользователя вводим следующее:

Usermod -d /var/ftp ftp && rmdir /home/ftp
После этого можно приступать к настройке пользователя: создаем специальную группу, под названием ftpuser, делается это, естественно, от имени суперпользователя, командой addgroup ftpuser .

После этого создаем нового пользователя с именем ftpuser и добавляем его в соответствующую группу:

Useradd -a /var/ftp -g ftpuser ftpuser
Когда пользователь создан, необходимо назначить для него пароль: passwd ftpuser (от имени суперпользователя).

Когда осуществляется настройка FTP сервера, следующий этап заключается в создании директории и установки на нее соответствующих прав. О том, как и где создавать каталог, мы говорили выше, теперь сделаем права доступа (от root):

Chmod 555 /var/ftp && chown root:ftpuser /var/ftp

Финальная часть настройки FTP сервера Linux
Затем создаем публичный каталог:

Mkdir /var/ftp/pub && chown ftpuser:ftpuser /var/ftp/pub
На следующем этапе, когда осуществляется настройка FTP сервера Linux , мы производим его конфигурацию. Для того, чтобы в результате случайной ошибки программа не отказалась работать полностью, лучше всего сделать копию файла настроек:

Cp /etc/vsftpd.conf /etc/vsftpd.conf_old
После этого можно открыть vsftpd.conf и произвести необходимые изменения. Сложностей с этим возникнут не должно, так как файл хорошо закомментирован и с ним должен разобраться даже не очень опытный пользователь.

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

Когда все вышеперечисленное было сделано, можно перезапускать FTP сервер:

/etc/Init.d/ restart
и свободно пользоваться собственным ФТП-шником.