pure-ftp – это популярный FTP-сервер с открытым исходным кодом, который обеспечивает безопасную и эффективную передачу файлов между компьютерами в сети. Он имеет множество возможностей и настраивается под требования конкретной системы.
В данном подробном руководстве мы рассмотрим процесс установки и настройки pure-ftp на операционной системе CentOS. Мы расскажем о всех необходимых шагах, чтобы вы могли успешно запустить FTP-сервер и начать передавать файлы.
Прежде чем мы начнем, убедитесь, что у вас установлен CentOS и у вас есть доступ к командной строке. Также имейте в виду, что для выполнения этих действий вам потребуются административные права. Если вы не имеете подходящей системы, установите CentOS и получите необходимый доступ.
- Установка и настройка pure-ftp
- Шаг 1: Установка необходимых пакетов
- Шаг 2: Создание системного пользователя
- Шаг 3: Создание директории для FTP
- Шаг 4: Настройка конфигурационного файла
- Шаг 5: Запуск и активация службы pure-ftp
- Шаг 6: Настройка брандмауэра
- Шаг 1: Установка пакета pure-ftp
- Шаг 2: Создание системной учетной записи pure-ftp
- Настройка аутентификации пользователей
- Шаг 3: Создание пользовательской учетной записи pure-ftp
- Шаг 4: Настройка файловой системы для пользователей
- Шаг 5: Настройка безопасности и шифрования
- Настройка доступа к FTP-серверу
- Шаг 6: Настройка правил брандмауэра для FTP-сервера
- Вопрос-ответ:
- Что такое pure-ftp?
- Видео:
- Настройка CentOS 8 на хостинге VPS для новичков
Установка и настройка pure-ftp
Для установки и настройки pure-ftp на CentOS выполните следующие шаги:
Шаг 1: Установка необходимых пакетов
Перед установкой pure-ftp необходимо убедиться, что у вас установлены необходимые пакеты. Выполните следующую команду, чтобы установить их:
sudo yum install epel-release |
sudo yum install pure-ftpd |
Шаг 2: Создание системного пользователя
Создайте системного пользователя, от имени которого будет работать pure-ftp. Для этого выполните следующую команду:
sudo useradd -r -s /sbin/nologin ftpuser |
Шаг 3: Создание директории для FTP
Создайте директорию, которая будет использоваться для хранения файлов FTP. Выполните следующую команду:
sudo mkdir -p /home/ftpuser/ftp |
sudo chown -R ftpuser: /home/ftpuser |
sudo chmod -R 755 /home/ftpuser |
Шаг 4: Настройка конфигурационного файла
Отредактируйте конфигурационный файл pure-ftp, чтобы настроить параметры FTP сервера. Выполните следующую команду:
sudo nano /etc/pure-ftpd/pure-ftpd.conf |
Внесите следующие изменения в файл:
ChrootLocalUsers ftpuser |
MaxClientsNumber 50 |
MaxClientsPerIP 10 |
ForcePassiveIP your_server_ip |
PassivePortRange 30000 50000 |
Сохраните и закройте файл.
Шаг 5: Запуск и активация службы pure-ftp
Запустите и активируйте службу pure-ftp, чтобы она запускалась при загрузке системы. Выполните следующие команды:
sudo systemctl start pure-ftpd |
sudo systemctl enable pure-ftpd |
Шаг 6: Настройка брандмауэра
Если у вас включен файервол, необходимо открыть порты используемые FTP сервером. Выполните следующие команды:
sudo firewall-cmd —zone=public —add-port=21/tcp —permanent |
sudo firewall-cmd —zone=public —add-port=30000-50000/tcp —permanent |
sudo firewall-cmd —reload |
Вы успешно установили и настроили pure-ftp на CentOS! Теперь вы можете использовать FTP сервер для передачи файлов.
Шаг 1: Установка пакета pure-ftp
Перед установкой пакета pure-ftp в CentOS, необходимо убедиться, что система имеет все необходимые зависимости. Для этого выполните следующую команду:
sudo yum install gcc make readline-devel
После установки зависимостей можно приступить к установке пакета pure-ftp. Выполните следующую команду:
sudo yum install pure-ftpd
При установке пакета вы увидите список пакетов, которые будут установлены на вашу систему. Введите «y» и нажмите Enter, чтобы продолжить установку.
После установки пакета pure-ftp необходимо включить его в автозапуск. Для этого выполните следующую команду:
sudo systemctl enable pure-ftpd
Теперь пакет pure-ftp установлен и будет запускаться автоматически при старте системы.
Шаг 2: Создание системной учетной записи pure-ftp
Прежде всего, необходимо создать системную учетную запись для pure-ftp. Эта учетная запись будет использоваться для запуска и работы самого сервера.
1. Откройте командную строку на сервере CentOS.
2. Введите следующую команду для создания новой учетной записи:
sudo useradd -r -d /var/ftp -s /sbin/nologin ftpuser
3. Задайте пароль для новой учетной записи ftpuser командой:
sudo passwd ftpuser
4. Проверьте, что учетная запись была успешно создана, введя:
sudo cat /etc/passwd | grep ftpuser
5. Убедитесь, что системная учетная запись ftpuser имеет права на директорию /var/ftp, введя команду:
sudo chown -R ftpuser:ftpuser /var/ftp
Теперь вы создали системную учетную запись pure-ftp, которая будет использоваться для запуска сервера. Далее необходимо настроить сам сервер FTP.
Настройка аутентификации пользователей
После установки и настройки Pure-FTP на сервере CentOS, необходимо настроить аутентификацию пользователей. В данном разделе мы рассмотрим несколько способов аутентификации: через локальные учетные записи, а также через базу данных MySQL.
Аутентификация через локальные учетные записи
По умолчанию Pure-FTP использует локальные учетные записи пользователей операционной системы CentOS. Чтобы настроить аутентификацию через эти учетные записи, выполните следующие шаги:
- Откройте файл конфигурации Pure-FTP с помощью текстового редактора, например, командой:
- Раскомментируйте или добавьте следующую строку, чтобы включить аутентификацию через локальные учетные записи:
- Сохраните изменения и закройте файл.
- Перезапустите службу Pure-FTP, чтобы изменения вступили в силу:
sudo nano /etc/pure-ftpd/pure-ftpd.conf
UnixAuthentication yes
sudo service pure-ftpd restart
Теперь пользователи существующей системы смогут использовать свои учетные записи для авторизации в Pure-FTP.
Аутентификация через базу данных MySQL
Если вы предпочитаете использовать базу данных MySQL для хранения учетных записей пользователей, следуйте этим инструкциям:
- Установите драйвер MySQL для Pure-FTP, выполнив команду:
- Создайте базу данных MySQL и таблицу для хранения учетных записей. Например, выполните следующие команды:
- Настройте Pure-FTP для использования базы данных MySQL, открыв файл конфигурации, например, командой:
- Раскомментируйте или добавьте следующие строки, чтобы включить и настроить аутентификацию через MySQL:
- Сохраните изменения и закройте файл.
- Перезапустите службу Pure-FTP, чтобы изменения вступили в силу:
sudo yum install pure-ftpd-mysql
mysql -u root -p
CREATE DATABASE ftp;
USE ftp;
CREATE TABLE ftp_users (User varchar(30) NOT NULL, Password varchar(30) NOT NULL) ENGINE=InnoDB;
sudo nano /etc/pure-ftpd/pure-ftpd.conf
MYSQLUser ftp
MYSQLPassword your_mysql_password
MYSQLDatabase ftp
MYSQLCrypt cleartext
MYSQLGetPW SELECT Password FROM ftp_users WHERE User=’\L’ AND status=’1′
sudo service pure-ftpd restart
После этого пользователи смогут аутентифицироваться в Pure-FTP, используя учетные записи, хранящиеся в базе данных MySQL.
Шаг 3: Создание пользовательской учетной записи pure-ftp
После успешной установки и настройки pure-ftp необходимо создать новую пользовательскую учетную запись, чтобы иметь возможность подключиться к серверу и передавать файлы. В этом разделе мы покажем, как создать новую учетную запись.
- Откройте командную строку или терминал и выполните следующую команду:
<username>
— это желаемое имя пользователя.<uid>
— это UID пользователя.<gid>
— это GID пользователя.<home_directory>
— это домашняя директория пользователя.- Установите пароль для новой учетной записи, используя следующую команду:
- Обновите файл pure-ftp конфигурации, чтобы применить изменения:
- Перезапустите службу pure-ftp для применения всех изменений:
- Проверьте, работает ли новая учетная запись, подключившись к серверу ftp с помощью новых учетных данных:
sudo pure-pw useradd <username> -u <uid> -g <gid> -d <home_directory>
Обратите внимание, что:
В результате выполнения этой команды будет создана новая учетная запись с указанными параметрами.
sudo pure-pw passwd <username>
Вам будет предложено ввести новый пароль дважды для подтверждения.
sudo pure-pw mkdb
sudo systemctl restart pure-ftpd
ftp <server_ip>
Теперь вы можете использовать ваши новые учетные данные, чтобы подключиться к серверу и начать передачу файлов.
Вы успешно создали новую пользовательскую учетную запись pure-ftp и настроили ее для подключения к серверу. Теперь вы можете продолжать использовать pure-ftp для удобного хранения и обмена файлами.
Шаг 4: Настройка файловой системы для пользователей
Перед тем как добавлять пользователей в Pure-FTP, необходимо настроить файловую систему и установить правильные разрешения доступа.
1. Создайте директорию для каждого пользователя:
- Создайте директорию для пользователя с помощью команды:
mkdir /home/имя_пользователя
. - Проставьте правильные разрешения доступа для директории, используя команду:
chmod 755 /home/имя_пользователя
. - Измените владельца директории на имя пользователя, выполнив команду:
chown -R имя_пользователя:имя_пользователя /home/имя_пользователя
.
2. Настройте ограничения на чтение и запись файлов:
- Укажите права доступа к файлам внутри директории пользователя, используя команду:
chmod 644 /home/имя_пользователя/*
. - Измените владельца и группу файлов, используя команду:
chown имя_пользователя:имя_пользователя /home/имя_пользователя/*
.
3. Настройка домашней директории пользователя:
- Перейдите в директорию
/etc/pure-ftpd/conf
. - Откройте файл
ChrootEveryone
с помощью редактора текста. - Замените значение переменной на
yes
и сохраните файл.
4. Перезапустите Pure-FTP, чтобы изменения вступили в силу:
- Введите команду
service pure-ftpd restart
, чтобы перезапустить службу Pure-FTP.
После выполнения этих шагов файловая система будет настроена для пользователей Pure-FTP на вашем сервере CentOS.
Шаг 5: Настройка безопасности и шифрования
FTPS — это защищенная версия FTP, которая поддерживает шифрование данных и аутентификацию с использованием SSL-сертификатов. Чтобы включить поддержку FTPS на сервере Pure-FTP, необходимо сгенерировать и установить SSL-сертификат.
Сгенерировать SSL-сертификат можно с помощью команды OpenSSL. Перейдите в директорию, где будет храниться сертификат, и выполните следующую команду:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /путь_к_ключу/key.pem -out /путь_к_сертификату/cert.pem
Замените /путь_к_ключу и /путь_к_сертификату на соответствующие значения. При выполнении команды будут заданы некоторые параметры, включая название организации, страну и т. д.
После генерации SSL-сертификата следует его установить. Откройте файл /etc/pure-ftpd/pure-ftpd.conf в текстовом редакторе и найдите следующие строки:
TLS 2
TLS_CERTIFICATE_FILE /путь_к_сертификату/cert.pem
TLS_PRIVATE_KEY_FILE /путь_к_ключу/key.pem
Замените /путь_к_сертификату/cert.pem на путь к вашему сертификату и /путь_к_ключу/key.pem на путь к вашему ключу.
После внесения изменений сохраните файл и перезапустите службу сервера Pure-FTP.
Теперь ваш FTP-сервер будет поддерживать шифрование данных и аутентификацию с использованием SSL-сертификатов, обеспечивая безопасную передачу файлов.
Настройка доступа к FTP-серверу
После успешной установки и настройки Pure-FTP на CentOS, вы можете начать настраивать доступ к FTP-серверу для различных пользователей.
Начните с создания учетной записи FTP-пользователя. Используйте следующую команду для создания нового пользователя:
pure-pw useradd имя_пользователя -u ftpuser -d /путь/к/домашней/директории -m
имя_пользователя — имя пользователя, используемое для входа на FTP-сервер
/путь/к/домашней/директории — путь к директории, в которую FTP-пользователь будет получать доступ
После выполнения этой команды вы будете предложены ввести пароль для FTP-пользователя. Введите пароль дважды и запомните его для дальнейшего использования.
После создания пользователя, вам необходимо обновить файл userdb, который хранит информацию о всех FTP-пользователях. Используйте следующую команду для обновления файла:
pure-pw mkdb
После этого вы можете запустить FTP-сервер, используя следующую команду:
systemctl start pure-ftpd
Теперь вы можете подключиться к FTP-серверу используя имя пользователя и пароль, которые вы установили. Используйте FTP-клиент, такой как FileZilla, для подключения к серверу и передачи файлов.
Обратите внимание, что если вы хотите настроить доступ только для определенных IP-адресов, вам необходимо отредактировать файл конфигурации Pure-FTP. Выполните следующую команду для открытия файла в текстовом редакторе:
sudo nano /etc/pure-ftpd.conf
Найдите и отредактируйте строку Bind, чтобы указать определенные IP-адреса:
Bind 192.168.0.1,192.168.0.2
Введите IP-адреса, разделенные запятыми. Сохраните изменения и перезапустите FTP-сервер, чтобы изменения вступили в силу:
systemctl restart pure-ftpd
Теперь доступ к FTP-серверу будет ограничен только для указанных IP-адресов.
Шаг 6: Настройка правил брандмауэра для FTP-сервера
Для обеспечения безопасности FTP-сервера на CentOS необходимо настроить правила брандмауэра. Это позволит разрешить входящие и исходящие соединения через определенные порты, не допуская несанкционированный доступ.
Прежде чем начать настраивать правила брандмауэра, убедитесь, что у вас установлен и активирован брандмауэр firewalld:
sudo systemctl enable firewalld
sudo systemctl start firewalld
Чтобы разрешить входящие соединения FTP-сервера, выполните следующую команду:
sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
Это откроет порт 21 TCP для FTP-сервера. Чтобы разрешить FTP Passive Mode, необходимо открыть дополнительные порты используемые Passive Mode. Выполните следующие команды, чтобы разрешить входящие соединения на портах 30000-32000:
sudo firewall-cmd --zone=public --add-port=30000-32000/tcp --permanent
После добавления правил перезапустите брандмауэр:
sudo firewall-cmd --reload
Теперь у вас настроены правила брандмауэра для FTP-сервера на CentOS. Только разрешенные соединения смогут подключаться к FTP-серверу, обеспечивая безопасность данных и защиту от несанкционированного доступа.
Вопрос-ответ:
Что такое pure-ftp?
Pure-ftp — это свободный FTP-сервер, который предоставляет надежный и безопасный способ передачи файлов между компьютерами.