解决Pure-FTPd使用中的部分问题
一、Pure-FTPd简介
PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License),以安全和配置简单为设计目标,支持虚拟主机,IPV6,PAM等功能。。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、NetBSD、FreeBSD、DragonFly BSD、Solaris、Tru64、Darwin、Irix and HP-UX。PureFTPd还有Android移植版本。
二、安装
RedHat / CentOS
1、安装 epel 源
yum install -y epel-release
2、安装 Pure-FTPd
yum -y install pure-ftpd
3、修改默认配置
# 默认配置位于 /etc/pure-ftpd/pure-ftpd.conf,在配置文件中找到下面几个参数进行修改:
# 指定路径,PureDB用户数据库文件
PureDB /etc/pure-ftpd/pureftpd.pdb
# 开启日志
VerboseLog yes
# 拒绝匿名登录
NoAnonymous yes
# 开启被动端口范围 (这里需要根据实际需求调整端口范围)
PassivePortRange 39000 40000
4、启动 Pure-FTPd 服务
systemctl start pure-ftpd.service
5、查看 Pure-FTPd 服务状态。
systemctl status pure-ftpd.service
Ubuntu / Debian
1、安装 Pure-FTPd
sudo apt-get install pure-ftpd
2、修改默认配置
# 与 centos 不同,这里需要在 /etc/pure-ftpd/conf 文件夹下执行下列命令,增加对应配置文件:
# 创建 /etc/pure-ftpd/conf/PureDB 文件,内容指定路径 /etc/pure-ftpd/pureftpd.pdb
echo '/etc/pure-ftpd/pureftpd.pdb' > /etc/pure-ftpd/conf/PureDB
# 创建 /etc/pure-ftpd/conf/VerboseLog 文件,开启日志
echo yes > /etc/pure-ftpd/conf/VerboseLog
# 创建 /etc/pure-ftpd/conf/NoAnonymous 文件,拒绝匿名登录
echo yes > /etc/pure-ftpd/conf/NoAnonymous
# 创建 /etc/pure-ftpd/conf/PassivePortRange 文件,开启被动端口范围 (这里需要根据实际需求调整端口范围)
echo '39000 40000' > /etc/pure-ftpd/conf/PassivePortRange
3、建立数据库软链
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50puredb
4、启动 Pure-FTPd 服务
sudo systemctl start pure-ftpd.service
5、查看 Pure-FTPd 服务状态。
sudo systemctl status pure-ftpd.service
三、遇到的问题
3.1、使用被动模式后,无法连接
如有防火墙则开放指定端口
如使用阿里云等云厂商,需要开放指定范围端口安全组
3.2、连接数不够
// 服务器总共允许同时连接的最大用户数
MaxClientsNumber 9999
// 同一IP允许同时连接的用户数
MaxClientsPerIP 999
四、故障排除
如果之前已经安装过 Pure-FTPd,可以直接通过界面同步按钮同步到 1panel 上,但是同步过程中无法同步密码,需要在界面上手动编辑;
如果无法正常连接,可以从以下方向检查:
防火墙是否开启,是否放行 Pure-FTPd 端口 ( 默认 21,可以通过 netstat -tunlp |grep pure-ftpd 或者 cat /etc/pure-ftpd/pure-ftpd.conf | grep Bind 查询)
是否放行 Pure-FTPd 被动端口 ( 可以通过 cat /etc/pure-ftpd/pure-ftpd.conf | grep PassivePortRange 或者 cat /etc/pure-ftpd/conf/PassivePortRange 文件查询 )
是否开启 selinux
- 感谢你赐予我前进的力量