##################################################
#####服务器:CentOS 7.9 FTP软件:pure-ftpd-1.0.51#####
##################################################
1、制作签名证书
[root@Server~]#openssl genrsa -out server.key 2048
[root@Server~]#openssl req -new -key server.key -out server.csr
[root@Server~]#openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
[root@Server~]#cat server.key server.crt > server.pem
2、安装依赖环境及软件
[root@Server~]#yum install gcc build-essential openssl-devel
[root@Server~]#cd /usr/local/src
[root@Server~]#wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.51.tar.gz
[root@Server src]#tar zxvf pure-ftpd-1.0.51.tar.gz
[root@Server src]#cd pure-ftpd-1.0.51
[root@Server pure-ftpd-1.0.51]#./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls --with-everything
[root@Server pure-ftpd-1.0.51]#make &&make install
3、修改软件配置及启动
[root@Server src]mkdir /usr/local/pureftpd/log #创建FTP日志存放目录
[root@Server src]touch /usr/local/pureftpd/log/pureftpd.log
[root@Server src]mkdir /usr/local/pureftpd/cert #创建FTP证书存放目录
[root@Server src]mv /root/server.key server.pem /usr/local/pureftpd/cert
[root@Server src]vi /usr/local/pureftpd/etc/pure-ftpd.conf
ChrootEveryone yes //锁定所有用户到家目录中
BrokenClientsCompatibility no
MaxClientsNumber 50 //最大的客户端数量
Daemonize yes
MaxClientsPerIP 8 //同一个IP允许8个链接
VerboseLog yes
DisplayDotFiles no //不显示隐藏文件
AnonymousOnly no //只允许匿名用户
NoAnonymous yes//不允许匿名用户
SyslogFacility ftp
DontResolve yes //禁止反向解析
MaxIdleTime 10 //最大空闲10分钟
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库,CentOS下默认位置
LimitRecursion 2000 10 //别表最大显示2000个文件,最深8个目录
AnonymousCanCreateDirs no //是否允许匿名用户创建目录
MaxLoad 4 //最多可下载的数量
AntiWarez yes
Umask 133:022 //文件和目录的umask
MinUID 1000 //用户ID至少要大于1000才能登陆
AllowUserFXP no //是否允许用户使用FXP协议登陆
AllowAnonymousFXP no //是否允许匿名用户使用FXP协议
ProhibitDotFilesWrite no //是否允许写入点文件
ProhibitDotFilesRead no //是否允许读取点文件
AutoRename no
AnonymousCantUpload yes //不允许匿名用户上传
AltLog clf:/usr/local/pureftpd/log/pureftpd.log
KeepAllFiles no
CreateHomeDir yes //自动创建用户家目录
MaxDiskUsage 99 //磁盘的最大利用率
CustomerProof yes
TLS 1
TLSCipherSuite HIGH
CertFile /usr/lcal/pureftpd/cert/server.pem
CertFileAndKey "/usr/local/pureftpd/cert/server.pem" "/usr/local/pureftpd/cert/server.key"
保存并退出!!!
[root@Server pure-ftpd-1.0.51]#/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf #使用指定配置文件启动
[root@Server pure-ftpd-1.0.51]#echo "/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf" >> /etc/rc.local #设置开机自启动
4、添加用户(示例)
[root@Server~]#useradd www #创建系统账户
[root@Server~]#chown -R www:www /data/ftp #创建FTP主目录
[root@Server~]#/usr/local/pureftpd/bin/pure-pw useradd test -u www -g www -d /data/ftp/test #添加一个为test且主目录为/data/ftp/test的测试账号
[root@Server~]#/usr/local/pureftpd/bin/pure-pw mkdb #生成账户信息数据
[root@Server~]#/usr/local/pureftpd/bin/pure-pw list #查看所有FTP的账号及主目录
[root@Server~]#/usr/local/pureftpd/bin/pure-pw userdel test #删除test账号
[root@Server~]#/usr/local/pureftpd/bin/pure-pw passwd test #修改test密码
###########pure-ftpd.conf文件选项说明#############
ChrootEveryone yes //锁定所有用户到家目录中
# TrustedGID 100 //信任组ID100,可以不锁定
MaxClientsNumber 50 //最大的客户端数量
MaxClientsPerIP 8 //同一个IP允许8个链接
DisplayDotFiles no //不显示隐藏文件
AnonymousOnly no //只允许匿名用户
NoAnonymous yes//不允许匿名用户
DontResolve yes //禁止反向解析
MaxIdleTime 10 //最大空闲10分钟
# LDAPConfigFile /etc/pureftpd-ldap.conf //LDAP配置文件目录
# MySQLConfigFile /etc/pureftpd-mysql.conf//MySQL配置文件目录
# PGSQLConfigFile /etc/pureftpd-pgsql.conf //PGSQL配置文件目录
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库,CentOS下默认位置
# UnixAuthentication yes //主机认证
LimitRecursion 2000 10 //别表最大显示2000个文件,最深8个目录
AnonymousCanCreateDirs no //是否允许匿名用户创建目录
#MaxLoad 4 //最多可下载的数量
# PassivePortRange 30000 50000 //主动连接的端口范围
#ForcePassiveIP 192.168.0.1 //这个地址总是直到匿名目录
# AnonymousRatio 1 10 //匿名用户上传下载速度比率
# UserRatio 1 10 //用户上传下载速度比率
# Bind 127.0.0.1,21 //绑定IP和端口
# AnonymousBandwidth 8 //匿名用户带宽8KB
# UserBandwidth 8 //用户带宽8KB
Umask 133:022 //文件和目录的umask
MinUID 1000 //用户ID至少要大于1000才能登陆
AllowUserFXP no //是否允许用户使用FXP协议登陆
AllowAnonymousFXP no //是否允许匿名用户使用FXP协议
ProhibitDotFilesWrite no //是否允许写入点文件
ProhibitDotFilesRead no //是否允许读取点文件
AnonymousCantUpload yes //不允许匿名用户上传
#NoChmod yes //不允许用户改变权限
#KeepAllFiles yes //允许用户断点续传
#Quota 1000:10//磁盘配额
MaxDiskUsage 80 //磁盘的最大利用率
#NoRename yes //不允许自动重命名
IPV4Only yes //只允许使用IPV4协议
ClientCharset utf-8 //客户端默认编码