一、简介

本文示例运行环境:

  1. 操作系统:CentOS Linux release 7

二、安装 pure-ftpd

yum --enablerepo=epel -y install pure-ftpd

三、配置

1. 创建系统用户
groupadd -g 7777 pure-ftpd
useradd -g 7777 -u 7777 -d /var/empty pure-ftpd
2. 创建虚拟用户
mkdir /storage/ftp
chown pure-ftpd:pure-ftpd /storage/ftp
pure-pw useradd user_fntdb  -u7777 -g7777 -d /storage/ftp
pure-pw mkdb

-u 是将虚拟用户 user_fntdb 与系统用户 pure-ftpd 关联在一起,也就是说,使用 user_fntdb 账号登录ftp后,会以 pure-ftpd 的身份来读写文件。

-d 是指定 user_fntdb 账户的家目录,这样可以使用户 user_fntdb 只能访问其家目录 /storage/ftp

3. 编辑配置文件
vim /etc/pure-ftpd/pure-ftpd.conf
ChrootEveryone               yes
BrokenClientsCompatibility   no
MaxClientsNumber             50
Daemonize                    yes
MaxClientsPerIP              8
VerboseLog                   yes
DisplayDotFiles              yes
AnonymousOnly                no
NoAnonymous                  yes
SyslogFacility               ftp
DontResolve                  yes
MaxIdleTime                  15
PureDB                        /etc/pure-ftpd/pureftpd.pdb
PAMAuthentication             yes
LimitRecursion               10000 8
AnonymousCanCreateDirs       no
MaxLoad                      4
PassivePortRange             30000 50000
AntiWarez                    yes
Bind                         21
Umask                        133:022
MinUID                      1000
UseFtpUsers no
AllowUserFXP                 no
AllowAnonymousFXP            no
ProhibitDotFilesWrite        no
ProhibitDotFilesRead         no
AutoRename                   no
AnonymousCantUpload         yes
AltLog                     clf:/var/log/pureftpd.log
MaxDiskUsage                   99
CustomerProof                yes
IPV4Only                     yes

四、防火墙设置,开放端口

开放 21,和 30000-50000 端口

五、启动服务

systemctl start pure-ftpd

设置开机启动

systemctl enable pure-ftpd