PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License),目前常见的一键安装包,如Oneinstack、lnmp.org、宝塔等服务都已集成PureFTPd服务,可见PureFTPd是一款非常流行的FTP服务软件。
有些时候我们不需要过多的集成环境,就想简简单单的使用FTP服务,可以尝试自行配置Pure-ftpd,分享一下CentOS 7安装和配置Pure-ftpd的方法。
安装Pure-ftpd
#安装epel源
yum -y install epel-release
#安装pureftpd
yum -y install pure-ftpd
配置Pure-ftpd
Pure-ftpd默认配置文件位于/etc/pure-ftpd/pure-ftpd.conf
,常用的配置如下:
#指定路径,PureDB用户数据库文件
PureDB /etc/pure-ftpd/pureftpd.pdb
#开启日志
VerboseLog yes
#拒绝匿名登录
NoAnonymous yes
#使用被动模式,并设置端口范围
PassivePortRange 30000 50000
创建系统用户、FTP用户,配置目录权限
创建系统用户的目的主要是让FTP目录继承该用户权限,下方命令添加了一个www
用户和一个www
用户组,用户、用户组请根据实际情况来创建。
#创建www用户组
groupadd www
#创建一个www用户
useradd -g www -s /sbin/nologin -d /dev/null www
接下来创建FTP虚拟用户,也就是经常用到的FTP账号啦:
#新建一个FTP目录
mkdir -p /data/wwwroot/ftp
#设置目录权限
chown -R www:www /data/wwwroot/ftp
#创建一个FTP用户xiaoz
pure-pw useradd xiaoz -u www -d /data/wwwroot/ftp -m
解释一下pure-pw useradd xiaoz -u www -d /data/wwwroot/ftp -m
这一行的作用:
pure-pw useradd xiaoz
:添加一个FTP用户xiaoz
-u www
:指定系统用户为www-d /data/wwwroot/ftp
:指定FTP路径-m
:将用户信息写入pureftpd.pdb数据库
放行端口
FTP默认使用21端口,同时我们配置了被动端口(30000-50000),因此需要在防火墙或安全组放行这些端口,下方是firewalld放行端口方法,如果是iptables请参考:iptables防火墙,常用规则整理
#放行21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#放行30000-50000端口范围
firewall-cmd --zone=public --add-port=30000-50000/tcp --permanent
#重载firewalld
firewall-cmd --reload
启动Pure-ftpd
要启动Pure-ftpd直接执行systemctl start pure-ftpd
命令,一些常用的操作命令如下。
#启动pure-ftpd
systemctl start pure-ftpd
#设置开机启动
systemctl enable pure-ftpd
#停止pure-ftpd
systemctl stop pure-ftpd
#禁止开机启动
systemctl disable pure-ftpd
如果需要获取pure-ftpd的使用方法可以输入pure-pw -h
查看帮助。
验证
输入命令netstat -apn|grep 'pure-ftpd'
可以查看Pure-ftpd是否正常监听,如果监听成功,可使用FTP客户端(如Filezilla)进行连接,来确保上传、下载没有问题。
其它
由xiaoz开发的ImgURL Pro专业版图床程序支持FTP上传图片,有需要的可以访问:https://blog.xiaoz.org/archives/13225 查看,目前6折促销中。
此文部分内容参考了:CentOS7 YUM 安装 Pure-ftpd
#创建www用户组
groupadd ftpgroup
这一处写错了吧?
确实写错了,老哥真细心,已经修正,谢谢。