Сервер

Как настроить FTP-сервер на CentOS

Как настроить FTP-сервер на CentOS

Настройка FTP-сервера (протокол передачи файлов) на вашем ПК с Linux позволит вам передавать файлы между вашей системой и удаленным компьютером. Мы покажем вам, как настроить FTP-сервер на CentOS.

В Linux уже есть множество FTP-серверов с открытым исходным кодом, которые можно использовать для работы. Сюда входят популярные серверы, такие как PureFTPd, ProFTPD, а также vsftpd.

Вы можете использовать любой из FTP-серверов по своему усмотрению. Однако в этом руководстве мы будем устанавливать и использовать vsftpd, сокращение от Very Secure FTP Daemon. Это быстрый, стабильный и безопасный FTP-сервер, который поможет вам мгновенно передавать файлы в удаленную систему и обратно.

Настройка FTP-сервера в CentOS

Итак, без лишних слов, приступим:

Установка vsftpd

Во-первых, нам нужно установить vsftpd на CentOS. Для этого введите в терминале следующую команду:

$ sudo dnf установить vsftpd

Установка vsftpd на CentOS

Если vsftpd установлен в вашей системе CentOS, вы должны настроить его так, чтобы он запускался и загружался автоматически. Это можно сделать с помощью следующей команды:

$ sudo systemctl enable vsftpd --now

Как только это будет сделано, проверьте статус службы vsftpd, введя эту команду:

$ sudo systemctl status vsftpd

Появится экран вывода, аналогичный показанному ниже. Вы должны увидеть, что vsftpd не «активен» в вашей системе CentOS.

vsftpd активен и работает на CentOS

Настройка vsftpd

Когда vsftpd активен и работает в вашей системе, вам нужно будет настроить параметры сервера. Для этого вам потребуется доступ к файлу / etc / vsftpd / vsftpd.conf файл конфигурации. Это можно сделать, открыв файл конфигурации в редакторе nano, введя следующую команду в терминале:

$ sudo nano / и т.д. / vsftpd / vsftpd.conf

Теперь, когда файл открыт в редакторе, вам нужно внести несколько изменений, чтобы настроить vsftpd в вашей системе. Давайте пройдемся по ним один за другим.

1. Настроить FTP-доступ

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

Настройки доступа по FTP

Как видите, вам нужно будет установить anonymous_enable = NO и local_enable = YES.

2. Разрешить загрузки

Затем вам нужно будет настроить FTP-сервер, чтобы разрешить загрузку и удаление файлов.

Для этого вам нужно будет найти директиву write_enable и изменить ее на YES, как показано на изображении.

Возможность включить загрузку vsftpd

3. Ограничить вход в систему

После этого вы захотите ограничить общее количество входов пользователей в систему.е., вы хотите, чтобы только определенные пользователи входили на ваш FTP-сервер. Для этого сначала найдите эту строку в .conf файл - userlist_enable = ДА. После этого добавьте в файл эти две строчки:

файл_пользователя = / etc / vsftpd / список_пользователей userlist_deny = НЕТ

Используйте изображение ниже в качестве справки:

Настройки для ограничения входа пользователей

Вы также можете включить эту опцию. Если вы это сделаете, вам нужно будет явно указать, каким пользователям вы хотите предоставить доступ к FTP-серверу. Чтобы разрешить пользователям, вам нужно будет добавить их имена пользователей в файл / etc / vsftpd / user_list, указав только одно имя пользователя в каждой строке.

4. Настройка пассивных FTP-подключений

Вы также можете настроить пассивные FTP-соединения.

Таким образом, здесь мы покажем вам, как вы можете указать минимальный и максимальный диапазоны портов, добавив пару строк внутри .conf файл.

Настройка пассивных FTP-соединений

Все, что вам нужно сделать, это прокрутить вниз до конца файла и добавить эти две строки, как показано на изображении.

pasv_min_port = 30000 pasv_max_port = 31000

Мы также обсудим, как вы можете открыть диапазон в вашем брандмауэре, позже в этом руководстве.

5. Настроить безопасную передачу с использованием SSL / TLS

Наконец, возникает вопрос о защите FTP-соединения с помощью SSL / TLS. Для этого вам потребуется сертификат SSL и настроить FTP-сервер для его использования.

Однако для этого руководства мы сгенерируем самозаверяющий SSL-сертификат с помощью инструмента OpenSSL, а затем будем использовать его для шифрования нашей FTP-передачи.

Итак, обо всем по порядку, вам нужно будет использовать OpenSSL для создания нового сертификата SSL. Вы можете сделать это, введя в терминал следующую команду:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / и т.д. / vsftpd / vsftpd.pem

Создание самозаверяющего сертификата OpenSSL в CentOS

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

После создания нового сертификата SSL откройте файл конфигурации vsftpd, используя предыдущую команду:

Судо нано / и т.д. / vsftpd / vsftpd.conf

Прокрутите вниз и добавьте следующие строки, как показано на изображении:

rsa_cert_file = / и т.д. / vsftpd / vsftpd.pem rsa_private_key_file = / и т.д. / vsftpd / vsftpd.pem ssl_enable = ДА

Настройка параметров SSL для vsftpd

Вот и все. Вы успешно настроили SSL-сертификат для своего FTP-сервера.

6. Завершить

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

anonymous_enable = NO local_enable = YES write_enable = YES local_umask = 022 dirmessage_enable = YES xferlog_enable = YES connect_from_port_20 = YES xferlog_std_format = YES listen = NO listen_ipv6 = YES pam_service_name = vsen_ipv6 = YES pam_service_name = vsftpdlist = user_name_pam_service_dis = vsftpdlist = пользовательский_список_пользователя = и т.д. pasv_max_port = 31000 rsa_cert_file = / и т.д. / vsftpd / vsftpd.pem rsa_private_key_file = / и т.д. / vsftpd / vsftpd.pem ssl_enable = ДА

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

$ sudo systemctl перезапуск vsftpd

Настроить брандмауэр

Если у вас включен брандмауэр вместе с FTP-сервером, вам необходимо настроить брандмауэр так, чтобы он разрешал передачу по FTP.

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

$ sudo firewall-cmd --permanent --add-port = 20-21 / tcp

Приведенная выше команда открывает порт 21, который является командным портом FTP, и порт 20, который является портом данных FTP.

Вам также нужно будет ввести эту команду:

$ sudo firewall-cmd --permanent --add-port = 30000-31000 / tcp

Эта команда открывает диапазон пассивных портов 30000-31000, который мы настроили ранее.

Разрешение серверу vsftpd проходить через брандмауэр CentOS

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

$ firewall-cmd --reload

Как создать нового пользователя FTP

Теперь, когда вы настроили сервер vsftpd в своей системе CentOS, пришло время создать нового пользователя FTP и протестировать его.

Сначала давайте создадим нового пользователя FTP (newftpuser) с помощью следующей команды:

$ sudo adduser newftpuser

Далее вам нужно будет установить пароль для нового пользователя. Для этого используйте эту команду:

$ sudo passwd newftpuser

Убедитесь, что пароль надежный и длиннее восьми символов.

Создание нового пользователя FTP

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

$ echo "newftpuser" | sudo tee -a / etc / vsftpd / список_пользователей

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

$ sudo mkdir -p / home / newftpuser / ftp / upload $ sudo chmod 550 / home / newftpuser / ftp $ sudo chmod 750 / home / newftpuser / ftp / upload $ sudo chown -R newftpuser: / home / newftpuser / ftp

Создайте дерево каталогов FTP

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

Отключить доступ к оболочке

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

Если вы хотите отключить доступ к оболочке для пользователя, вам необходимо будет создать новую оболочку, которая будет печатать сообщение, информирующее пользователя о том, что: «Эта учетная запись ограничена только доступом по FTP.”

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

$ echo -e '#!/ bin / sh \ necho "Эта учетная запись ограничена только доступом по FTP."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly

Приведенная выше команда создаст оболочку / bin / ftponly и выполнит ее.

Затем вам нужно будет добавить новую оболочку в список допустимых оболочек, которые находятся внутри / и т.д. / оболочки файл. Это делается с помощью следующей команды:

$ echo "/ bin / ftponly" | sudo tee -a / etc / shells

И в качестве последнего шага все, что вам нужно сделать, это изменить оболочку пользователя на / bin / ftponly с помощью этой команды:

$ sudo usermod newftpuser -s / bin / ftponly

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

Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...