Создать ftp сервер linux centos

Содержание
  1. Как настроить FTP-сервер с VSFTPD на CentOS 8
  2. Установка vsftpd на CentOS 8
  3. Настройка vsftpd
  4. 1. Доступ по FTP
  5. 2. Включение загрузки
  6. 3. Chroot Jail
  7. 4. Пассивные FTP-соединения
  8. 5. Ограничение входа пользователя
  9. 6. Защита передачи с помощью SSL / TLS
  10. Перезапустите службу vsftpd
  11. Открытие брандмауэра
  12. Создание пользователя FTP
  13. Отключение доступа к оболочке
  14. Выводы
  15. DATAENGINER
  16. Как настроить FTP-сервер VSFTPD на CentOS 7
  17. How to Setup FTP Server with VSFTPD on CentOS 7
  18. В этом руководстве мы будем устанавливать vsftpd (Very Secure Ftp Daemon) на CentOS 7. Это стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить vsftpd, чтобы ограничить пользователей их домашним каталогом и зашифровать всю передачу с помощью SSL / TLS.
  19. Установка vsftpd на CentOS 7
  20. Конфигурация vsftpd
  21. 1. FTP доступ
  22. 2. Включение загрузки
  23. 3. Запрет доступа
  24. 4. Пассивные FTP-соединения
  25. 5. Ограничение входа пользователя
  26. 6. Защита передач с помощью SSL / TLS
  27. Перезапустите службу vsftpd
  28. Открытие портов брандмауэра
  29. Создание пользователя FTP
  30. Отключение Shell Shell Access
  31. Вывод

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

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

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

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

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

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

После установки пакета запустите демон 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.

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

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

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

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

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

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

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

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

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

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

Читайте также:  Linux print all commands

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

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

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

Следующая команда создаст 2048-битный закрытый ключ и самозаверяющий сертификат, действительный в течение 10 лет. И закрытый ключ, и сертификат будут сохранены в одном файле:

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

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

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

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

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

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

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

how-to-configure-and-manage-firewall-on-centos-8 Если вы используете, вам необходимо разрешить FTP-трафик.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Выводы

    Мы показали вам, как установить и настроить безопасный и быстрый FTP-сервер на CentOS 8.

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

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

    Источник

    DATAENGINER

    Добрый день! Сегодня мы рассмотрим как просто можно установить FTP — Server на CentOS 7.

    Итак, приступим к установке, устанавливать и настраивать мы будет пакет vsftpd.

    Шаг 1. Выполним команду yum install vsftpd -y.

    Будет установлен один пакет. Далее его мы и будем настраивать.

    Шаг 2. Перейдем в папку /etc/vsftpd. И изменим имя конфигурационным файлам. Добавим к имени файла с окончание .conf к имени .old, чтобы наш файл стал иметь вид *.conf.old

    Шаг 3. Теперь создадим файл vsftpd.conf новый, открыв его при помощи редактора vim: vim vsftpd.conf. Скопируем в наш файл следующее содержимое:

    После чего сохраним наш новый конфигурационный файл.

    Создадим каталог для настроек пользователей: mkdir /etc/vsftpd/users

    Так же создадим каталог для анонимных пользователей.

    Шаг 4. Создадим пользователя ftp и назовем его ftp-user, а также зададим ему пароль.

    useradd -s /sbin/nologin ftp-user

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

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

    зададим права для каталога /ftp, права предоставим 0777.

    Далее создадим в каталоге ftp, каталог ftp-user, доступ к которому и будет иметь наш пользователь. И выдадим права на каталог нашему пользователю.

    Сначала выполним: mkdir /ftp/ftp-user

    Затем: chown ftp-user:ftp-user /ftp/ftp-user

    Шаг 5. Перейдем в каталог users и создадим там файл с именем нашего пользователя. Чтобы как-то разнообразить данный материал воспользуемся командой touch: touch /etc/vsftpd/users/ftp-user.

    Далее при помощи команды echo укажем локальную директорию нашему текущему пользователю: echo ‘local_root=/ftp/ftp-user/’ >> /etc/vsftpd/users/ftp-user

    И выведем содержимое файла командой cat: cat ftp-users

    Шаг 6. Далее нам необходимо создать файл, где будет содержаться список пользователей, которые могут выйти из домашней директории. Выйдем на уровень выше из текущего каталога. Файл будет называться chroot_list, поэтому команда будет иметь следующий вид: vim chroot_list.

    В файл мы запишем имя пользователя root и сохраним файл.

    Шаг 7. Далее в файле user-list нам необходимо внести изменения. Мы удалим всех текущих пользователей из файла и оставим пользователей, которые будут иметь доступ к серверу в данном случае это root и ftp-user. Текущий файл user-list

    После чего сохраним изменения в файле.

    Шаг 8. Теперь мы создадим файл лога и дадим на него права 600, для создания файла используем команду touch. touch /var/log/vsftpd.log

    chmod 600 /var/log/vsftpd.log

    Шаг 9. Так как все настройки завершены, давайте запустим наш ftp — сервер и добавим его в автозагрузку выполнив следующие команды:

    systemctl start vsftpd

    systemctl enable vsftpd

    Проверим что служба начала слушать порт, выполним команду: netstat -tulnp | grep vsftpd

    Шаг 10. Теперь проверим, что подключение по ftp работает для нашего ftp-user пользователя. Для этого воспользуемся утилитой winscp.

    В качестве имени хоста укажем наш ip — адрес, в качестве порта выбираем 21, а в качестве пользователя укажем ftp-user и введем пароль который мы ему указали при создании.

    На данном этапе вы увидите сообщение «Access Denied» или доступ запрещен, чтобы это исправить необходимо в файл /etc/shells добавить строку /sbin/nologin.

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

    В данной статье мы рассмотрели простую настройку ftp — сервера на ОС Linux CentOS 7. Надеюсь она облегчит вашу дальнейшую работу.

    Источник

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

    How to Setup FTP Server with VSFTPD on CentOS 7

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

    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 к оманды.

    Следующая команда создаст 2048-битный закрытый ключ и самозаверяющий сертификат, действительный в течение 10 лет. И закрытый ключ, и сертификат будут сохранены в одном файле:

    После создания 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-доступ к серверу.

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

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

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

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

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

      Вывод

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

      Источник

      Читайте также:  Как начинать установку windows
Оцените статью