ftp服务器搭建
转载及参考至:https://www.linuxprobe.com/chapter-11.html
https://www.cnblogs.com/lxwphp/p/8916664.html
https://www.cnblogs.com/guohongwei/p/10848698.html
1 文件传输协议
一般来讲,人们将计算机联网的首要目的就是获取资料,而文件传输是一种非常重要的获取资料的方式。今天的互联网是由几千万台个人计算机、工作站、服务器、小型机、大型机、巨型机等具有不同型号、不同架构的物理设备共同组成的,而且即便是个人计算机,也可能会装有Windows、Linux、UNIX、Mac等不同的操作系统。为了能够在如此复杂多样的设备之间解决问题解决文件传输问题,文件传输协议(FTP)应运而生。
FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。FTP服务器普遍部署于内网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。FTP协议的传输拓扑如图11-1所示。
FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。FTP协议有下面两种工作模式。
两种工作模式 |
---|
主动模式:FTP服务器主动向客户端发起连接请求。 |
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。 |
(防火墙一般是用于过滤从外网进入内网的流量,因此有些时候需要将FTP的工作模式设置为主动模式,才可以传输数据。)
2 Vsftpd服务程序
vsftpd作为更加安全的文件传输的服务程序,允许用户以三种认证模式登录到FTP服务器上。
匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。
本地用户模式:是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。但是如果被黑客破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制整台服务器。
**虚拟用户模式:**是这三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响。
ftp是Linux系统中以命令行界面的方式来管理FTP传输服务的客户端工具。我们首先手动安装这个ftp客户端工具,以便在后续实验中查看结果
3 Vsftpd服务程序的安装
运行下面的命令完成vsftpd的安装
sudo apt-get update
sudo apt-get install vsftpd
一旦安装完成,初始情况下服务被禁用,因此,我们需要手动开启服务,同时,启动它使得在下次开机时能够自动开启服务
添加用户
修改信息
allowed_users 允许通过的用户
配置文件中添加一下配置
listen | 是否监听 |
anonymous_enable | 允许匿名用户登录 |
local_enable | 是否允许本地用户登录 |
write_enable | 实名用户拥有写权限【上传数据】 |
local_umask = 022 | 设置本地掩码为022 |
anon_upload_enable=YES | 匿名用户可以向ftp服务器上传数据 |
anon_mkdir_write_enable=YES | 匿名用户可以在ftp服务器上创建目录 |
创建添加允许用户
用户黑名单
vim /etc/ftpusers
以下没有userftp
使用命令重启ftp服务
/etc/init.d/vsftpd restart 重启
/etc/init.d/vsftpd start 启动
/etc/init.d/vsftpd stop 停止
以下启动成功
华为云fpt端口开放,使用弹性ip连接
Xftp连接时,取消被动模式的勾选
成功连接
后来连不上了 用这个链接解决的
https://blog.csdn.net/j15533415886/article/details/84061857