FTP服务器配置

教学参考的是这篇文章 https://www.cnblogs.com/xlpc/p/17749162.html

1.下载安装

yum -y install epel-release
yum -y install pure-ftpd

2.开机自启

systemctl enable pure-ftpd

3.防火墙设置

我一般是在1panel面板中设置,被动端口设置到了60000-60500,相应配置文件需要更改。

4.创建用户组和用户(这里照抄别人的教程,面板也能直接添加,本人水平有限暂时没有搞明白区别)

pureftp一般需要不用默认的root用户进行操作,一般会另外创建用户名和组,用虚拟用户进行登录.

创建组:groupadd ftpgroup

创建用户:useradd -g ftpgroup -d /dev/null -s /etc ftpuser

chmod 777 -R /home/ftpusers/   //给予文件夹777所有权限,虚拟用户的目录不存在则自动创建

创建完成以后可以用cat /etc/passwd和cat /etc/group来查看组和用户是否已经创建好了

添加ftp虚拟用户

pure-pw useradd test -u ftpuser -d /home/ftpusers/test -m 

//命令格式很好懂,pure-pw 命令使用useradd 需要添加的用户名(我这里是test), -u标明虚拟用户并且与系统用户权限关联,-d指定了系统用户Home目录中的子目录,且被限制在这个子目录里面(此处是否被限制与上文的conf文件设定相关)如果需要访问系统用户的HOME Directory,则直接使用参数 -D,-m则写入用户数据库,用户设置即时生效,无需重启进程。

如果添加完成以后想要删除可以使用pure-pw userdel test这条指令,想要修改密码可以使用pure-pw passwd test这条指令.

5.编辑配置文件(上传格式是.txt,下载后需要手动更改为.conf)

下面是已经更改好的配置文件,需要额外注意被动端口,防火墙对应放行。

文件开头有一段这样的话,大概意思是如果想要用这个文件代替命令行,需要运行下面这个命令。至于有没有必要,emmmm。。。。以后再验证吧。

# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/sbin/pure-ftpd /etc/pure-ftpd/pure-ftpd.conf

其他的配置项照着网上教程来,没啥问题,就是教程中强调的这一行,一定要删掉注释并修改对应的文件位置。(自己配置的时候修改了位置但是没有删掉注释,半天不生效)

# PureDB user database (see README.Virtual-Users)

PureDB                       /etc/pure-ftpd/pureftpd.pdb

6.生成数据库文件(面板直接同步应该也可以)

pure-pw mkdb

7.重启

8.其他

局域网内如果通过公网访问内网所在的公网IP好像会连不上,这个问题一直存在,我猜测是因为被动端口被重复占用的原因。所以测试的时候最好从另一个网络或者流量来测试。当前通过流量,手机的FTP程序进行下载上传都正常。后续进一步深入了解后,会更新本文。