阿里云ECS安装FTP服务Pure-ftpd,后来发现宝塔面板默认安装了。
更多分类文章:
Python | Linux | 大数据 | 数据库 | Git | Nodejs | Golang | 电脑技巧 | 计算机技术
第一步:下载并安装 Pure-ftpd
yum install epel-release
yum install pure-ftpd
第二步:修改配置文件
# vim /etc/pure-ftpd/pure-ftpd.conf
- 去掉#注释,指定路径,PureDB用户数据库文件
PureDB /etc/pure-ftpd/pureftpd.pdb
- 开启日志 /var/log/pureftpd.log
VerboseLog yes
- 拒绝匿名用户登录
NoAnonymous yes
- 使用被动模式,并限制端口范围
PassivePortRange 39000 40000
第三步:创建账户,配置权限
- 启动pure-ftpd服务
systemctl enable pure-ftpd
systemctl start pure-ftpd
- 添加ftp用户组
# groupadd ftpgroup
# useradd -g ftpgroup -s /sbin/nologin -d /dev/null ftpuser
- 创建虚拟账户
# mkdir /ftpsite/ -p
# pure-pw useradd test -u ftpuser -d /ftpsite/ -m
pure-pw useradd 虚拟用户名 -u 系统用户 -d 目录 -m
随后会提示输入这个虚拟用户名的登录密码
- 配置目录权限
# pure-pw mkdb
# chown ftpuser.ftpgroup /ftpsite/ -R
第四步:配置防火墙策略(无开可不配)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 49000:50000 -j ACCEPT
第五步:启动pure-ftpd
# chkconfig pure-ftpd --level 345 on
# /etc/init.d/pure-ftpd start 或者 systemctl restart pure-ftpd.service
我们可以通过如下命令验证:
- 先查看 21 端口是否开启:
# netstat -an | grep 21
- 然后查看 proftpd 进程:
# ps -aux | grep proftpd
最后一步:
如果是在阿里云上不要忘记开放端口(21,39000-40000).
注意事项
使用宝塔面板会默认安装,但是需要在面板启动一下。然后使用宝塔面板->FTP中的账户密码,使用客户端去连接。但是,链接FTP连不上,需要做到下面几点。
- 查看配置文件中PassivePortRange参数,端口范围是多少。
2.如果使用阿里云,则需放行39000-40000的端口,或者放开其防火墙。
3.查询ForcePassiveIP,看到对应行,放开注释并将后面IP改为服务器对应的公网IP
ForcePassiveIP 公网IP
4.客户端连接时,注意选择FTP,端口21并使用”被动模式“。
此时,可以成功连接了!若再出现问题应该需要研究ftp配置。