当前位置:首页 > 行业动态 > 正文

Pure-ftpd 配置多用户、控制权限

配置 PureFTPd 多用户和控制权限

PureFTPd 是一个轻量级、安全且高效的 FTP 服务器,支持虚拟用户,以下是如何配置 PureFTPd 以支持多用户并控制他们的权限的详细步骤:

1. 安装 PureFTPd

在大多数 Linux 发行版中,可以使用包管理器来安装 PureFTPd,在 Debian/Ubuntu 系统中,可以使用以下命令:

sudo aptget update
sudo aptget install pureftpdcommon pureftpdmysql

2. 创建 MySQL 数据库和表

PureFTPd 使用 MySQL 数据库来存储用户信息和权限,需要创建一个数据库和一个表来存储这些信息:

CREATE DATABASE ftp_db;
USE ftp_db;
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    password VARCHAR(64) NOT NULL,
    dir VARCHAR(255) NOT NULL,
    uid INT NOT NULL,
    gid INT NOT NULL,
    status ENUM('active', 'inactive') NOT NULL DEFAULT 'active'
);

3. 配置 PureFTPd

编辑 /etc/pureftpd/pureftpd.passwd 文件,添加用户和密码,每一行应该包含一个用户名和加密后的密码,格式如下:

username:{crypt}password
user1:{crypt}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
user2:{crypt}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

编辑 /etc/pureftpd/db/pureftpd.pdb 文件,将数据库信息添加到文件中:

SQL database configuration
SQL_BACKEND=MYSQL
SQL_HOST=localhost
SQL_USER=root
SQL_PASS=password
SQL_NAME=ftp_db
SQL_PREFIX=pureftpd_

4. 控制权限

为了控制用户的权限,可以在 users 表中设置 uid、gid 和 dir 字段。uid 和 gid 字段用于设置用户的文件系统权限,而 dir 字段用于设置用户的主目录。

如果希望用户 user1 能够访问 /home/user1 目录,并且具有 1001 的用户 ID 和 1001 的组 ID,可以执行以下 SQL 命令:

INSERT INTO users (name, password, dir, uid, gid)
VALUES ('user1', '{crypt}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', '/home/user1', 1001, 1001);

5. 重启 PureFTPd 服务

需要重启 PureFTPd 服务以使更改生效:

sudo systemctl restart pureftpdmysql

现在,PureFTPd 已经配置好支持多用户,并且可以通过数据库来控制用户的权限了。

0