配置 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 已经配置好支持多用户,并且可以通过数据库来控制用户的权限了。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/668887.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复