Настройка vsftpd centos 7

Обновлено: 07.07.2024

Сейчас рассмотрим пример организации FTP сервера на базе vsFTPd и CentOS 7. Сервис FTP будет крайне полезным для любой организации и сервисов, например, для удобной работы с сайтом на WordPress. Первым делом устанавливаем требуемые пакеты vsftpd:

sudo mkdir /backup

sudo cp /etc/vsftpd/vsftpd.conf /backup

Настройка vsFTPd сервера

После установки сервера и клиента переходим к настройке vsftpd. Сразу стоит обратить внимание: Анонимный доступ к FTP разрешен по умолчанию. Установите anonymous_enable=NO для обеспечения безопасности Вашего сервера.

Настройка будет проводиться путем редактирования конфигурационного файла vsftpd.conf:

Внесем следующие изменения :

ОпцияОписание
anonymous_enable=NOЗапрещаем анонимный доступ
local_enable=YESРазрешаем доступ локальным пользователям
write_enable=YESДаем пользователям FTP права на запись
connect_from_port_20=NOОтключаем 20 порт, уменьшает привилегии VSftpd
chroot_local_user=YESChroot всех пользователей
local_umask=022Устанавливаем маску 022, чтобы быть уверенными в том, что для всех файлов (644) и папок (755) которые мы закачиваем, устанавливаются соответствующие права

Добавление нового FTP пользователя

Создадим специального пользователя FTP с именем ftpuser и каталогом по умолчанию /var/www/ваш_каталог:

Если домашняя директория для ftpuser еще не создана, то сделаем это сейчас:

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

groupadd ftpusers

usermod -G ftpusers ftpuser

Настройка iptables для vsFTPd

Для корректной работы FTP сервера нужно сделать настройку IPTABLES (добавить правила для FTP). Подробнее об iptables: Установка и настройка IPTABLES в CentOS 7 + Настройка iptables для Apache2 в CentOS 6.5.

Открываем конфигурационной файл iptables и вносим следующие изменения:

Сохраните и закройте файл. Перезапустите фаервол командой:

sudo systemctl restart iptables

Настройка автозапуска vsFTPd при старте системы

Стартуем vsFTPd FTP сервис:

Готово. Настройка FTP сервера завершена. Проверяем его работу локально:

Нашли ошибку в тексте? Выделите фрагмент текста и нажмите Ctrl+Enter

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

В этом руководстве мы будем устанавливать vsftpd (Very Secure Ftp Daemon) на CentOS 7. Это стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить vsftpd, чтобы ограничить пользователей их домашним каталогом и зашифровать всю передачу с помощью SSL / TLS.

Для более безопасной и быстрой передачи данных используйте SCP или SFTP .

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

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

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

После установки пакета запустите демон vsftpd и включите его автоматический запуск во время загрузки:

Вы можете проверить, что служба vsftpd запущена, распечатав ее статус:

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

Настройка vsftpd

Настройка службы vsftpd включает редактирование файла конфигурации /etc/vsftpd/vsftpd.conf . Большинство настроек хорошо документированы в файле конфигурации. Чтобы узнать обо всех доступных вариантах, посетите официальную страницу vsftpd .

В следующих разделах мы рассмотрим некоторые важные настройки, необходимые для настройки безопасной установки vsftpd.

Начните с открытия файла конфигурации vsftpd:

1. Доступ по FTP

Мы разрешим доступ к FTP-серверу только локальным пользователям, найдем директивы anonymous_enable и local_enable и проверим соответствие вашей конфигурации приведенным ниже строкам:

2. Включение загрузки

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

3. Chroot Jail

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

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

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

4. Пассивные FTP-соединения

vsftpd может использовать любой порт для пассивных FTP-соединений. Мы укажем минимальный и максимальный диапазон портов, а затем откроем диапазон в нашем брандмауэре.

Добавьте в файл конфигурации следующие строки:

5. Ограничение входа пользователя

Чтобы разрешить только определенным пользователям входить на FTP-сервер, добавьте следующие строки после строки userlist_enable=YES :

Когда этот параметр включен, вам необходимо явно указать, какие пользователи могут входить в систему, добавив имена пользователей в файл /etc/vsftpd/user_list (по одному пользователю на строку).

6. Защита передачи с помощью SSL / TLS

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

Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самозаверяющий сертификат.

В этом руководстве мы создадим самозаверяющий сертификат SSL с помощью команды openssl .

После создания SSL-сертификата откройте файл конфигурации vsftpd:

Найти rsa_cert_file и rsa_private_key_file директивы, изменить их значения на pam путь к файлу и установите ssl_enable директиву YES :

Если не указано иное, FTP-сервер будет использовать только TLS для безопасных соединений.

Перезапустите службу vsftpd

После того, как вы закончите редактирование, конфигурационный файл vsftpd (без комментариев) должен выглядеть примерно так:

Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

Открытие брандмауэра

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

Чтобы открыть порт 21 (командный порт FTP), порт 20 (порт данных FTP) и 30000-31000 (диапазон пассивных портов), 30000-31000 следующие команды:

Перезагрузите правила брандмауэра, набрав:

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

Чтобы протестировать наш FTP-сервер, мы создадим нового пользователя.

  • Если у вас уже есть пользователь, которому вы хотите предоставить доступ по FTP, пропустите 1-й шаг.
  • Если вы установили allow_writeable_chroot=YES в вашем файле конфигурации, пропустите 3-й шаг.

Создайте нового пользователя с именем newftpuser :

Добавьте пользователя в список разрешенных пользователей FTP:

Создайте дерево каталогов FTP и установите правильные разрешения :

Как обсуждалось в предыдущем разделе, пользователь сможет загружать свои файлы в каталог ftp/upload .

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

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

По умолчанию при создании пользователя, если это не указано явно, у пользователя будет SSH-доступ к серверу.

Выполните следующие команды, чтобы создать оболочку /bin/ftponly и сделать ее исполняемой:

Добавьте новую оболочку в список допустимых оболочек в /etc/shells :

Измените оболочку пользователя на /bin/ftponly :

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

Выводы

В этом руководстве вы узнали, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе CentOS 7.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Меня попросили в разделе с заказами написать статью на тему ftp сервера. Я планировал ее написать ранее, но все откладывал, а теперь решил сделать это. В качестве примера я возьму ftp сервер - vsftpd, систему - CentOS 7, 8. Рассмотрю несколько разных вариантов настройки - простой и более сложный.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

По моим наблюдениям, популярность ftp серверов с каждым годом падает. Сам я очень редко им пользуюсь и на свои сервера чаще всего не устанавливаю. Так как я работаю с серверами, к которым имею доступ по ssh, необходимости в ftp нет, использую SFTP.

Тем не менее, в некоторых случаях может понадобиться ftp сервер. Доступ к такому серверу часто дают тогда, когда нужно, чтобы к вам кто-то что-то закачал большого объема. Так же ftp доступ дают некоторые хостинг компании, когда вы у них заказываете сервер для бэкапов. Например, ihor, которым я раньше пользовался, предлагает услугу пространство для бэкапа именно по протоколу ftp.

Так что хоть ftp и потерял популярность, но не перестал быть актуальным. Рассмотрим настройку ftp сервера на примере vsftpd. Сделаем несколько конфигураций:

  1. Самая быстрая и простая. В качестве пользователей ftp будут системные пользователи.
  2. Более сложная конфигурация, где пользователи будут виртуальные, хранить их будем в отдельном файле.
  3. Вариант с виртуальными пользователями, но хранить мы их будем в mysql базе.

Работать будем на следующем сервере:

Настройка ftp на Centos 7

Простая настройка ftp в CentOS 7

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

Начинаем традиционно с обновления системы:

Устанавливаем vsftpd:

Переходим к настройке. Я использую следующую схему работы ftp сервера с системными пользователями. Пользователю root разрешаю ходить по всему серверу. Всем остальным пользователям только в свои домашние директории. Анонимных пользователей отключаю.

Очистим каталог /etc/vsftpd, нам ничего не нужно из того, что там есть по-умолчанию. Можете сохранить куда-нибудь оригинальный конфиг, нам он не понадобится.

Открываем конфиг сервера /etc/vsftpd/vsftpd.conf

и приводим его к следующему виду vsftpd.conf. Не вывожу файл сюда, чтобы не растягивать страницу, конфигов в статье будет много. В файле даны подробные комментарии к каждому параметру.

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

Пользователя создаем без оболочки. Тут сразу можно указать в качестве домашней директории необходимый каталог, в котором будет работать пользователь. Я специально этого не делаю, чтобы продемонстрировать работу пользовательских настроек в отдельном файле. Пользователь будет создан со стандартным домашним каталогом в /home, но при работе по ftp он будет направлен в другой каталог, который мы ему укажем через файл пользовательских настроек vsftpd.

Здесь стоит обратить внимание на один момент. Начиная с какой-то версии то ли vsftpd, то ли это касается самой системы Centos, но пользователь с оболочкой /sbin/nologin не может подключаться по ftp. Связано это с тем, что идет проверка оболочки, а ее нет в файле /etc/shells. Я не пробовал ее туда добавлять, так как не понимаю до конца назначение этого файла. Я предлагаю просто отключить проверку оболочки в настройках pam для vsftpd. Делается это в файле /etc/pam.d/vsftpd. Нужно закомментировать следующую строку:

Продолжаем настройку ftp сервера. Создаем каталог для персональных настроек пользователей:

В каталоге можно будет создать отдельно файлы с именами пользователей и передать им персональные параметры. Для примера создадим файл с именем пользователя ftp-user и укажем его домашний каталог:

Не забываем создать этот каталог и назначить ему владельца:

Создаем файл c пользователями, которым можно выходить за пределы домашнего каталога:

Добавляем туда рута:

Создаем файл со списком пользователей ftp, которым разрешен доступ к серверу:

Этим списком мы можем ограничить доступ к ftp серверу системных пользователей, которым туда ходить не нужно. Осталось только создать файл для логов:

Все готово для работы. Добавляем vsftpd в автозагрузку и запускаем:

Проверяем, запустился ли он:

Все в порядке, можно подключаться клиентом.

Прежде чем начнете проверять подключение, убедитесь, что у вас настроен firewall. Либо выключите его, либо настройте для разрешения подключений по ftp. Узнать как правильно настроить iptables для работы ftp сервера можно в отдельной статье, посвященной настройке iptables. Там есть все необходимые пояснения и примеры.

Я зашел пользователем root и смог прогуляться по всей файловой системе.

Подключение к vsftpd серверу

Пользователь ftp-user ограничен своим домашним каталогом, указанном в индивидуальном файле с параметрами. Выйти за его пределы он не может. В лог файле отражены все действия пользователей на сервере: загрузка и скачивание файлов.

Обращаю внимание, что это мой опыт работы с vsftpd. Давать доступ системному руту по ftp ко всей файловой системе весьма опасно, нужно пользоваться осторожно. Я уже точно не помню, зачем я так делал, остались заметки с давних времен. Рассматривайте это просто как демонстрацию возможностей и используйте эти функции так, как вам нужно.

Настройка vsftpd с виртуальными пользователями

Рассмотрим вариант, когда пользователи ftp сервера не должны пересекаться с локальными. В данном примере будут работать только виртуальные пользователи. Я мельком проверил, можно ли настроить и тех и других, оказалось, что можно. Но там надо аккуратно с правами разбираться и со списками разрешенных пользователей. Я решил, что не буду описывать эту ситуацию, так как не очень представлю, когда она может пригодиться. Если кому-то надо, то на базе этой статьи он сам сможет разобраться.

Чтобы авторизовать виртуальных пользователей, установим дополнительный пакет compat-db:

На всякий случай сохраните оригинальный pam.d файл, если захотите снова вернуться к системным пользователям:

Нужно изменить pam файл /etc/pam.d/vsftpd, приведя его к следующему виду:

Рисуем следующий конфиг для vsftpd vsftpd.conf Создаем файл с виртуальными пользователями:

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

Сохраняем файл и генерируем локальное хранилище учеток:

У вас должен появиться файл virt_users.db.

Нужно создать каталоги для этих пользователей:

Для папки /ftp надо назначить соответствующего владельца, от которого ftp сервер будет пускать виртуальных пользователей:

На этом настройка виртуальных пользователей ftp закончена. Перезапускаем vsftpd и пробуем залогиниться:

Я набросал небольшой скрипт, чтобы было удобно добавлять новых пользователей, предлагаю воспользоваться:

Делаете файл исполняемым и запускаете:

Все, пользователь добавлен, можно сразу им заходить. Вот так легко и просто настраиваются виртуальные пользователи в vsftpd. Рассмотрим теперь третий вариант, когда эти пользователи хранятся в mysql базе.

Хранение vsftpd пользователей в mysql

Настройка не отличается от предыдущего раздела. Конфиг один в один совпадает. Изменится только файл в pam.d. Но перед тем, как его изменить, выполним подготовительные настройки. Первым делом нам понадобится mariadb, устанавливаем ее:

Запускаем и добавляем ее в автозагрузку:

Выполняем скрипт первоначальной настройки mysql:

Подробнее о настройке mysql рассказано в статье про настройку web сервера на centos. Если вам в будущем понадобится веб сервер, можете сразу его настроить, а заодно поставить phpmyadmin, дальнейшие действия проще будет выполнить там. Но я сейчас не буду на этом останавливаться, сделаем все в консоли.

Подключаемся к mysql:

Создаем пользователя и базу данных для хранения учетных записей пользователей ftp:

vsftpd имя пользователя и базы
12345 пароль пользователя

Создаем таблицу учеток:

Обратите внимание на кавычки при копировании. Если будут ошибки в синтаксисе mysql, вам нужно будет их удалить и проставить заново.

Создадим сразу одного пользователя:

ftp-mysql имя пользователя
123 пароль

Список пользователей можно посмотреть с помощью команды:

Выходим из консоли mysql и создаем каталог для нового пользователя:

Мне пришлось прилично загуглиться в буржунет и найти там информацию. Я узнал, что для CentOS 7 подойдет вот эта версия pam_mysql-0.7-0.16.rc1.fc20.x86_64.rpm. Было очень много битых ссылок, но все же я нашел рабочую. На всякий случай сохраняю ее у себя. Так что ставим модуль pam_mysql для centos 7 с моего сайта:

Теперь редактируем файл /etc/pam.d/vsftpd. В интернете много примеров конфигурации. Опытным путем собрал рабочий вариант:

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

У меня все получилось. Если будут какие-то проблемы, то смотрите в первую очередь на работу mysql_pam в логе /var/log/audit/auditlog. У меня были такие ошибки, когда я настраивал авторизацию и она не работала:

После правильной настройки, появились такие записи:

В логе /var/log/secure тоже может быть полезная информация. У меня было так:

С пробелами в строках была путаница, пока не исправил, не работало ничего. Но потом все заработало. Если ошибетесь с пользователем mysql, от которого подключается vsftpd, получите ошибку:

Проверяйте логин с паролем в pam файле. На этом у меня сегодня все. Можно скрипт набросать для удобного добавления пользователей в базу, но мне уже лениво. Может кто-нибудь другой в комментариях поделится.

Настройка vsftpd в Centos 8

Для настройки ftp сервера в Centos 8, необходимо выполнить несколько изменений по сравнению с основной статьей:

Все остальное настраивается точно так же, как и в предыдущей версии системы.

Настройка SSL / TLS

Для того, чтобы ваши пароли и данные, которые ftp сервер передает в открытом виде, не стали легкой добычей снифферов, рекомендую настроить ssl или tls сертификаты для работы ftp через ssl (ftps, не путать с sftp). Сделать это не сложно. Настройка одинаковая для обоих систем.

Генерируем самоподписный сертификат. Если есть валидный, или есть возможность получить бесплатный сертификат от let's encrypt, можно использовать их.

Генерация самоподписного сертификата в Centos

Данные можете любые указывать, это не имеет значения. Добавляете в конфиг vsfptd.conf дополнительные параметры:

И перезапускаете ftp сервер, чтобы проверить работу по ftps.

Теперь можно подключаться и проверять.

Настройка ssl подключения по ftp

При подключении, должно выйти предупреждение о том, что нет возможности проверить сертификат. Надо вручную подтвердить доверие.

Проверка работы ftps

Вот и все. Теперь ftp сервером можно безопасно пользоваться, так как данные не передаются в открытом виде. Так что настоятельно рекомендую ssl в ftp настраивать.

Заключение

Мы подробно рассмотрели вопрос использования vsftpd сервера с различной настройкой учетных записей. По мне удобнее всего работать с виртуальными пользователями в локальной, не mysql, базе. Но если используется какая-нибудь панель управления сервером, то удобно засунуть всех пользователей в базу.

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

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Видео

FTP (File Transfer Protocol) - это стандартный клиент-серверный сетевой протокол, который позволяет пользователям передавать файлы в удаленную сеть и из нее.

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

Для более безопасной и быстрой передачи данных используйте SCP или SFTP .

Прежде чем продолжить этот урок, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

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

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

После установки пакета запустите демон vsftpd и включите его автоматический запуск во время загрузки:

Вы можете убедиться, что служба vsftpd запущена, напечатав ее статус:

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

Конфигурация vsftpd

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

В следующих разделах мы рассмотрим некоторые важные параметры, необходимые для настройки безопасной установки vsftpd.

Начните с открытия файла конфигурации vsftpd:

1. FTP доступ

Мы разрешим доступ к FTP - серверу только локальным пользователям, найти anonymous_enable и local_enable директиву и подтвердить свой матч конфигурации линий ниже:

2. Включение загрузки

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

3. Запрет доступа

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

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

Используйте один из методов ниже, чтобы разрешить загрузку, когда включен chroot.

Способ 1. - Рекомендуемый способ разрешить загрузку - оставить chroot включенным и настроить каталоги FTP. В этом уроке мы создадим ftp каталог внутри домашнего пользователя, который будет служить chroot и записываемым uploads каталогом для загрузки файлов.

Способ 2. - Другой вариант - добавить следующую директиву в файл конфигурации vsftpd. Используйте эту опцию, если вам необходимо предоставить доступ на запись для вашего пользователя к его домашнему каталогу.

4. Пассивные FTP-соединения

vsftpd может использовать любой порт для пассивных FTP-соединений. Мы укажем минимальный и максимальный диапазон портов, а затем откроем диапазон в нашем брандмауэре.

Добавьте следующие строки в файл конфигурации:

5. Ограничение входа пользователя

Чтобы разрешить только определенным пользователям входить на FTP-сервер, добавьте следующие строки после userlist_enable=YES строки:

Когда эта опция включена, вам нужно явно указать, какие пользователи могут войти, добавив имена пользователей в /etc/vsftpd/user_list файл (по одному пользователю в строке).

6. Защита передач с помощью SSL / TLS

Чтобы зашифровать передачи FTP с помощью SSL / TLS, вам необходимо иметь сертификат SSL и настроить сервер FTP для его использования.

Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самозаверяющий сертификат.

Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете легко создать бесплатный SSL-сертификат Let's Encrypt .

В этом руководстве мы создадим самозаверяющий сертификат SSL с помощью openssl к оманды.

После создания SSL-сертификата откройте файл конфигурации vsftpd:

Найдите директивы rsa_cert_file and rsa_private_key_file , измените их значения на pam путь к файлу и установите ssl_enable директиву YES :

Если не указано иное, FTP-сервер будет использовать только TLS для создания безопасных соединений.

Перезапустите службу vsftpd

Как только вы закончите редактирование, файл конфигурации vsftpd (исключая комментарии) должен выглядеть примерно так:

Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

Открытие портов брандмауэра

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

Чтобы открыть порт 21 (командный порт FTP), порт 20 ( порт данных FTP) и 30000-31000 (диапазон пассивных портов), введите следующие команды:

Перезагрузите правила брандмауэра, набрав:

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

Чтобы протестировать наш FTP-сервер, мы создадим нового пользователя.

  • Если у вас уже есть пользователь, которому вы хотите предоставить доступ по FTP, пропустите первый шаг.
  • Если вы установили allow_writeable_chroot=YES в своем файле конфигурации пропустите 3-й шаг.

Создайте нового пользователя с именем newftpuser :

Далее вам нужно установить пароль пользователя :

Добавьте пользователя в список разрешенных пользователей FTP:

Создайте дерево каталогов FTP и установите правильные разрешения :

Как обсуждалось в предыдущем разделе, пользователь сможет загружать свои файлы в ftp/upload каталог.

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

Отключение Shell Shell Access

По умолчанию при создании пользователя, если он не указан явно, у пользователя будет SSH-доступ к серверу.

Выполните следующие команды, чтобы создать /bin/ftponly оболочку и сделать ее исполняемой:

Добавьте новую оболочку в список допустимых оболочек в /etc/shells файле:

Измените пользовательскую оболочку на /bin/ftponly :

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

Вывод

Из этого руководства вы узнали, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе CentOS 7.

Читайте также: