Настройка ProFTPD с использованием MySQL/MariaDB для хранения учетных данных
ProFTPD — это популярный FTP-сервер для Unix-подобных операционных систем, который предлагает гибкую настройку и высокую производительность. Однако, при использовании ProFTPD часто возникает необходимость в централизованном управлении учетными записями пользователей. Для этого можно использовать базу данных MySQL или MariaDB.
В этой статье мы рассмотрим процесс настройки ProFTPD для работы с базой данных MySQL/MariaDB для хранения учетных данных пользователей.
Установка и настройка ProFTPD
Прежде чем начать, убедитесь, что у вас установлены и настроены следующие компоненты:
— Сервер базы данных MySQL/MariaDB
— Сервер ProFTPD
Создание базы данных и таблицы
Для начала создадим базу данных и таблицу, где будут храниться учетные данные пользователей:
Настройка ProFTPD
Теперь перейдем к настройке конфигурационного файла ProFTPD. Откройте файл "/etc/proftpd/proftpd.conf" для редактирования:
Замените «your_host», «your_port», «your_database», «your_password» на соответствующие значения вашего сервера базы данных.
Загрузка учетных данных в базу данных
Перед тем как пользователи смогут подключиться к FTP-серверу, необходимо загрузить их учетные данные в базу данных. Это можно сделать вручную или с помощью скрипта. Ниже приведен пример PHP-скрипта для добавления учетной записи пользователя:
Не забудьте заменить «your_host», «your_password» и «your_database» на реальные значения.
В этой статье мы рассмотрим процесс настройки ProFTPD для работы с базой данных MySQL/MariaDB для хранения учетных данных пользователей.
Установка и настройка ProFTPD
Прежде чем начать, убедитесь, что у вас установлены и настроены следующие компоненты:
— Сервер базы данных MySQL/MariaDB
— Сервер ProFTPD
Создание базы данных и таблицы
Для начала создадим базу данных и таблицу, где будут храниться учетные данные пользователей:
CREATE DATABASE ftp_users;
USE ftp_users;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(64) NOT NULL,
password VARCHAR(64) NOT NULL,
dir VARCHAR(255) NOT NULL DEFAULT '/'
);
Настройка ProFTPD
Теперь перейдем к настройке конфигурационного файла ProFTPD. Откройте файл "/etc/proftpd/proftpd.conf" для редактирования:
# ... другие настройки ...
<IfModule mod_sql.c>
SQLBackend mysql
SQLDatabase ftp_users
SQLUser proftpd
SQLPassword your_password
SQLConnectInfo your_host:your_port@your_database
SQLAuthTypes AuthUserFile, AuthPAM, AuthMySQL
</IfModule>
# ... другие настройки ...
Замените «your_host», «your_port», «your_database», «your_password» на соответствующие значения вашего сервера базы данных.
Загрузка учетных данных в базу данных
Перед тем как пользователи смогут подключиться к FTP-серверу, необходимо загрузить их учетные данные в базу данных. Это можно сделать вручную или с помощью скрипта. Ниже приведен пример PHP-скрипта для добавления учетной записи пользователя:
<?php
// Параметры подключения к базе данных
$host = 'your_host';
$dbname = 'ftp_users';
$user = 'proftpd';
$pass = 'your_password';
$charset = 'utf8mb4';
// Подключение к базе данных
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=$charset", $user, $pass);
} catch (PDOException $e) {
die('Подключение не удалось: ' . $e->getMessage());
}
// Добавление пользователя
$username = $_POST['username'];
$password = $_POST['password'];
$dir = $_POST['dir'] ?? '/';
$stmt = $pdo->prepare("INSERT INTO users (username, password, dir) VALUES (:username, :password, :dir)");
$stmt->execute([':username' => $username, ':password' => $password, ':dir' => $dir]);
echo "Пользователь успешно добавлен.";
?>
Не забудьте заменить «your_host», «your_password» и «your_database» на реальные значения.
Запуск ProFTPD
После того как все настроено, запустите ProFTPD:systemctl restart proftpd
Похожие публикации
Нет комментариев