运行环境:
VMware® Workstation 15 Pro
CentOS-8.2.2004-x86_64-minimal
1、 默认的yum源没有提供pure-ftpd,所以需要先安装epel-release扩展源,然后使用yum命令安装pure-ftpd。
yum install pure-ftpd
[root@localhost ~]# yum install pure-ftpd
上次元数据过期检查:1:00:12 前,执行于 2021年03月22日 星期一 11时53分55秒。
依赖关系解决。
====================================================================================
软件包 架构 版本 仓库 大小
====================================================================================
安装:
pure-ftpd x86_64 1.0.49-4.el8 epel 262 k
安装依赖关系:
libpq x86_64 12.4-1.el8_2 AppStream 195 k
mariadb-connector-c x86_64 3.1.11-2.el8_3 AppStream 200 k
sscg x86_64 2.3.3-14.el8 AppStream 49 k
usermode x86_64 1.113-1.el8 BaseOS 202 k事务概要
====================================================================================
安装 5 软件包总下载:908 k
安装大小:2.8 M
确定吗?[y/N]: y
下载软件包:
(1/5): sscg-2.3.3-14.el8.x86_64.rpm 381 kB/s | 49 kB 00:00
(2/5): libpq-12.4-1.el8_2.x86_64.rpm 1.2 MB/s | 195 kB 00:00
(3/5): usermode-1.113-1.el8.x86_64.rpm 1.7 MB/s | 202 kB 00:00
(4/5): pure-ftpd-1.0.49-4.el8.x86_64.rpm 910 kB/s | 262 kB 00:00
(5/5): mariadb-connector-c-3.1.11-2.el8_3.x86_64.rpm 225 kB/s | 200 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------
总计 343 kB/s | 908 kB 00:02
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : usermode-1.113-1.el8.x86_64 1/5
安装 : sscg-2.3.3-14.el8.x86_64 2/5
安装 : mariadb-connector-c-3.1.11-2.el8_3.x86_64 3/5
安装 : libpq-12.4-1.el8_2.x86_64 4/5
安装 : pure-ftpd-1.0.49-4.el8.x86_64 5/5
运行脚本: pure-ftpd-1.0.49-4.el8.x86_64 5/5
验证 : libpq-12.4-1.el8_2.x86_64 1/5
验证 : mariadb-connector-c-3.1.11-2.el8_3.x86_64 2/5
验证 : sscg-2.3.3-14.el8.x86_64 3/5
验证 : usermode-1.113-1.el8.x86_64 4/5
验证 : pure-ftpd-1.0.49-4.el8.x86_64 5/5已安装:
libpq-12.4-1.el8_2.x86_64 mariadb-connector-c-3.1.11-2.el8_3.x86_64pure-ftpd-1.0.49-4.el8.x86_64 sscg-2.3.3-14.el8.x86_64 usermode-1.113-1.el8.x86_64
完毕!
2、启动 pure-ftpd服务。
[root@localhost /] service pure-ftpd start
Redirecting to /bin/systemctl start pure-ftpd.service
3、创建系统用户组及用户。
[root@localhost /] groupadd www
[root@localhost /] useradd -g www -s /sbin/nologin www
4、创建虚拟用户并设置密码
[root@localhost /] pure-pw useradd htdocs -u www -d /home
Password:
Enter it again:
-u选项将虚拟用户htdocs与系统用户www关联在一起,即使用htdocs账号登录FTP后,会以www的身份来读取和下载文件,-d选项后面的目录为htdocs账户的家目录,这样可以使htdocs只能访问其家目录/home。
5、创建用户信息数据库文件。
[root@localhost /] pure-pw mkdb
[root@localhost /] pure-pw list
htdocs /home/./
修改密码:pure-pw passwd htdocs
删除账号:pure-pw userdel htdocs
6、修改配置文件
[root@localhost /] vim /etc/pure-ftpd/pure-ftpd.conf
# PureDB user database (see README.Virtual-Users)
PureDB /etc/pure-ftpd/pureftpd.pdb
7、重启pure-ftpd服务。
[root@localhost /] service pure-ftpd restart
Redirecting to /bin/systemctl restart pure-ftpd.service
8、开机启动服务。
[root@localhost /] systemctl enable pure-ftpd
Created symlink /etc/systemd/system/multi-user.target.wants/pure-ftpd.service → /usr/lib/systemd/system/pure-ftpd.service.
9、使用FileZilla客户端连接测试上传、下载、删除。
参数 | 说明 |
---|---|
ChrootEveryone yes | 启用chroot。 |
BrokenClientsCompatibility yes | 兼容不同客户端。 |
Daemonize yes | 后台运行。 |
MaxClientsPerIP 20 | 每个ip最大连接数。 |
VerboseLog yes | 记录日志。 |
DisplayDotFiles no | 显示隐藏文件。 |
AnonymousOnly no | 只允许匿名用户访问。 |
NoAnonymous yes | 不允许匿名用户连接。 |
SyslogFacility none | 不将日志在syslog日志中显示。 |
DontResolve yes | 不进行客户端DNS解析。 |
MaxIdleTime 15 | 最大空闲时间。 |
LimitRecursion 2000 8 | 浏览限制,文件2000,目录8层。 |
AnonymousCanCreateDirs no | 匿名用户可以创建目录。 |
MaxLoad 4 | 超出负载后禁止下载。 |
PassivePortRange 45000 50000 | 被动模式端口范围。 |
#AnonymousRatio 1 10 | 匿名用户上传/下载比率。 |
UserRatio 1 10 | 所有用户上传/下载比率。 |
AntiWarez yes | 禁止下载匿名用户上传但未经验证的文件。 |
AnonymousBandwidth 200 | 匿名用户带宽限制(KB)。 |
UserBandwidth 8 | 所有用户最大带宽(KB)。 |
Umask 133:022 | 创建文件/目录默认掩码。 |
MinUID 100 | 最大UID限制。 |
AllowUserFXP no | 仅运行用户进行FXP传输。 |
AllowAnonymousFXP no | 对匿名用户和非匿名用户允许进行匿名 FXP 传输。 |
ProhibitDotFilesWrite no | 不能删除/写入隐藏文件。 |
ProhibitDotFilesRead no | 禁止读取隐藏文件。 |
AutoRename yes | 有同名文件时自动重新命名。 |
AnonymousCantUpload yes | 不允许匿名用户上传文件。 |
AltLog clf:/var/log/pureftpd.log | clf格式日志文件位置。 |
PureDB /etc/pure-ftpd/pureftpd.pdb | 用户数据库文件。 |
MaxDiskUsage 99 | 当磁盘使用量打到99%时禁止上传。 |
CreateHomeDir yes | 如果虚拟用户的目录不存在则自动创建。 |
CustomerProof yes | 防止命令误操作。 |