需求
- 购买了一个腾讯云服务器
- 需要搭建匿名的ftp服务
搭建FTP服务
腾讯云提供了一套教程,但是里面杂糅了主动和匿名模式,不够直接完善,只能说可以安装好ftp服务
在此基础上,需要完善更多的信息,所以写了这篇
我们路径一样,使用教程里面的/var/ftp/test
文件夹
1 安装ftp
这里和腾讯云一样
yum install -y vsftpd # 安装软件
systemctl enable vsftpd # 开机启动
systemctl start vsftpd # 开启ftp服务
systemctl -antup | grep ftp # 查看服务状态
2 配置ftp
2.1 配置匿名ftp服务
不用新增用户!不用新增用户!不用新增用户!
直接配置vsftpd.conf
文件就好
可以全部注掉,新增这些匿名用户配置
anonymous_enable=YES # 开启匿名访问
local_enable=YES # 开启本地访问
write_enable=YES # 允许写入
chroot_local_user=YES # ?
listen=YES # 开启监听
local_root=/var/ftp/test # 默认ftp文件夹
allow_writeable_chroot=YES # ?
# 下面是被动模式配置
pasv_enable=YES # 开启被动访问
pasv_address=111.222.333.444 # 绑定公网IP
pasv_min_port=390000 # 端口下限
pasv_max_port=400000 # 端口上限
端口21,39000-40000都要在防火墙打开
# 下面是没有设置导致我550错误的配置 腾讯云教程并没有!
anon_upload_enable=YES # 匿名用户上传权限
anon_mkdir_write_enable=YES # 匿名用户写入权限
anon_other_write_enable=YES # 匿名用户其他权限
3 配置文件夹权限
# 腾讯云只写了主动配置给用户的权限,而没有写给匿名访问的权限!
chmod 777 /var/ftp/test
4 测试上传
上传成功!注意是在Windows
端上传的
你可能也会踩的坑
- 在配置文件
vsftpd.conf
中多输入了一个空格
这个是异常蛋疼的问题,还不容易看出来,但是又会报错
- macOS发现没有权限
macOS本来就只支持只读的ftp服务,所以需要用工具才能上传
- 出现了200 227 550错误
按照腾讯云的方式给配置是不能访问匿名服务的,因为文件夹的权限给了特定的用户ftpuser,需要指定所有权限才行.这个时候不能按照腾讯云写了,得这么写权限
chmod 777 /var/ftp/test
不适用匿名模式的写法: chown -R ftpuser:ftpuser /var/ftp/test