我使用的虚拟机是CentOS Linux release 7.6.1810 (Core)操作系统,这个版本的操作系统和vsftp不兼容,会乱码,找了很多办法解决不了,因此选择了pureftp。
1、yum安装pureftp
默认的 yum 源没有提供 pure-ftpd,需要先安装 epel 扩展源:
yum install epel-release
yum install pure-ftpd
2、修改配置文件
通过yum的方式安装之后,配置文件的位置是/etc/pure-ftpd/pure-ftpd.conf。
注意修改以下几项:
MinUID 100 #如果这个数字比较小,就把它调大一点,否则如果建的用户的uid比这个数字小,会报“530 Login authentication failed”错误
AnonymousOnly no #只允许匿名用户登录。
NoAnonymous yes #不允许匿名用户登录
ProhibitDotFilesWrite no #不能删除/写入隐藏文件。如果ftp目录内有隐藏文件的话,改为yes。
ProhibitDotFilesRead no #禁止读取隐藏文件。如果ftp目录内有隐藏文件的话,改为yes。
PureDB /etc/pure-ftpd/pureftpd.pdb #用户数据库文件。我建好ftp之后这行配置默认是被注释掉的,所以我登录ftp一直报错“530 Login authentication failed”。因为没有启用用户数据库文件,ftp读取不到用户,所以这行一定要启用
其他的我没有修改,都是默认的。
3、启动pureftp
systemctl start pure-ftpd
systemctl status pure-ftpd //执行之后,看到绿色的active表明pureftp搭建成功