跳到主要内容
方的代码随记
返回

Pure-FTPd 安装与虚拟用户配置

更新于:

一、安装

默认 yum 源不含 pure-ftpd,需先装 epel 扩展源:

yum install -y epel-release
yum install -y pure-ftpd

二、创建系统用户与存储根目录

# 创建用户 ftp(不允许登录 shell)
useradd ftp -s /sbin/nologin

# 创建 FTP 存储根目录并设置权限
mkdir /data/ftp
chown -R ftp.ftp /data/ftp/

三、核心配置项

编辑 /etc/pure-ftpd/pure-ftpd.conf,下面是最常用的几项:

配置项值说明
PureDB/etc/pure-ftpd/pureftpd.pdb用户数据库路径(重要)
ChrootEveryoneyes锁定所有用户到家目录
CreateHomeDiryes虚拟用户目录不存在时自动创建
BrokenClientsCompatibilityyes兼容不同客户端
DisplayDotFilesno是否显示隐藏文件
CustomerProofyes防止命令误操作
PassivePortRange30000 50000被动模式端口范围
ForcePassiveIP192.168.1.100被动模式对外 IP
NoAnonymousyes禁止匿名用户(为 no 时允许)
AnonymousOnlyno是否只允许匿名访问
AnonymousCantUploadyes禁止匿名用户上传(为 no 时允许)
AnonymousCanCreateDirsyes是否允许匿名用户建目录
AllowUserFXPno仅允许认证用户 FXP 传输
AllowAnonymousFXPno是否允许匿名 FXP 传输
SyslogFacilitynone日志告警级别,none 为禁止记录

被动模式下务必在防火墙放行 PassivePortRange 指定的端口段,否则客户端能登录但列不出目录。

四、创建虚拟用户

# 创建用户家目录
mkdir /data/ftp/aaa
chown -R ftp.ftp /data/ftp/aaa/

# -u 将虚拟用户 aaa 与系统用户 ftp 关联(登录后以 ftp 身份读写文件)
# -d 指定家目录,使 aaa 只能访问 /data/ftp/aaa/
pure-pw useradd aaa -u ftp -d /data/ftp/aaa/

# 生成用户信息数据库文件(关键步骤,新增用户后必须执行)
pure-pw mkdb

# 查看已创建的账号列表
pure-pw list

五、启动服务

systemctl start pure-ftpd.service
systemctl enable pure-ftpd.service
# 或一步到位
systemctl enable --now pure-ftpd.service

六、测试

用 Windows 或 Linux 上的 FTP 客户端登录,验证上传、下载与目录锁定是否符合预期。


分享这篇文章:

上一篇
vsftpd 搭建 FTP(指定用户访问指定目录)
下一篇
firewalld 防火墙配置