FTP服务器的搭建
#
因为我的另外一个服务器快到期了,所以需要在另外一个服务器上再做一个简单的FTP服务。
但之前做的时候忘记记录了,只记到大概操作,所以在各大论坛找了很多文章,但都大同小异,不愧是复制粘贴,最后还是找到了正确的操作。
接下来我先简单介绍一下之前的错误操作:
1.所有文章都是先检测有没有安装vsftpd,然后再安装 2.安装完后更改ftp配置文件 3.重启服务,从客户端尝试访问ftp(若重启有报错,可以复制错误信息去问AI。PS:我英语差,所以看不懂报错信息,正在努力尝试看懂中) 4.然后我去尝试连通ftp服务,但无论如何都无法连通
接下来,我描述一下我从阿里云官方看到的文章操作和最后关键的一步:
1.安装vsftpd,开机自启 yum -y install vsftpd systemctl enable vsftpd.service # 开机自启 systemctl start vsftpd.service # 启动 2.创建相应的用户并指定目录,添加相应权限 useradd ftptest passwd ftptest mkdir /var/ftp/ftptest chown -R ftptest:ftptest /var/ftp/test 3.更改配置文件vsftpd.conf ## 修改内容 # 禁止匿名登录FTP服务器。 anonymous_enable=NO #允许本地用户登录FTP服务器。 local_enable=YES #监听IPv4 sockets。 listen=YES # listen_ipv6=YES ## 加入内容 #设置本地用户登录后所在目录。 local_root=/var/ftp/test #全部用户被限制在主目录。 chroot_local_user=YES #启用例外用户名单。若要启用,则必须在配置文件所在目录添加一个chroot_list文件 # chroot_list_enable=YES #指定例外用户列表文件,列表中用户不被锁定在主目录。 # chroot_list_file=/etc/vsftpd/chroot_list #开启被动模式。 pasv_enable=YES allow_writeable_chroot=YES #本示例中为轻量应用服务器的公网IP地址。 pasv_address=xx.xx.xx.xx #设置被动模式下,建立数据传输可使用的端口范围的最小值。 #建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。 pasv_min_port=50000 #设置被动模式下,建立数据传输可使用的端口范围的最大值。 pasv_max_port=60000 4.关闭防火墙 systemctl stop firewalld 5.开启密码验证,一般服务器都是开启了的,反正我的是开了 6.开启相应的端口后使用下列命令 sudo firewall-cmd --add-service=ftp --zone=public --permanent # 使用firewall-cmd命令添加一个名为"ftp"的服务到公共区域(public zone)的防火墙规则中,并设置为永久生效(permanent)。 sudo firewall-cmd --zone=public --add-port=50000-60000/tcp --permanent sudo firewall-cmd --reload 重启防火墙与ftp服务 7.验证连接
接下来我说一下,我比较迷惑的问题:
两个操作之间主要问题是没有关闭防火墙这一块,我试了试,确实只有关闭了防火墙客户端才能连上FTP。
但只要启动防火墙就无法访问FTP,开启了相应的端口也无法访问。
我试了试在关闭防火墙的同时再关闭21端口的情况下也无法访问。
后面我在网上找了最后那三条命令执行之后就能关闭防火墙访问了,我就比较迷惑最后那三条步骤在阿里云图形化界面一样可以操作,但操作之后没有那种效果
看来我技术不过关,还是得再好好学学。
阿里云轻量云服务器教程原文地址:
本文来自博客园,作者:青瓦深巷,转载请注明原文链接:
https://www.cnblogs.com/qwsx/p/FTP.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构