1 FTP 服务器
- FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。
基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传
输文件。
- 在 FTP 的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。
"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计
算机中拷贝至远程主机上。用 Internet 语言来说,用户可通过客户机程序向(从)远程主机
上传(下载)文件。
- FTP文件传输协议是一个有状态的协议,HTTP为无状态协议
- 有状态的指的是:
- FTP协议在进行文件下载的时候,如果用户下载的过程中出现关机等情况,在次下载的时候会从上次下载的断点继续下载,而使用HTTP协议的则无法使用这种情况进行文件的下载
- 有状态的指的是:
- FTP文件上传下载的架构图
- 客户端和服务端的文件交互都是在FTP单独的文件上传下载服务器上进行的

VSFTPD 简介
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd
是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、
HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的
FTP 服务器所不支持的特征。

①vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;
②任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;
③所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;
④此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。
2.VSFTPD的分布项目的应用
单体架构图片存储架构图

传统图片管理方式在分布式环境中的问题:
- 1.传统的服务器,在这里为了减少服务器的压力将服务器搭建成集群的方式
- 2.用户在进行请求的时候会先通过一个负债均衡的服务器该服务器的作用是处理用户的请求,将将用户的请求采用一定的策略交给指定的服务器进行处理
- 3.假设用户来请求了,经过负载均衡服务器,服务器采用轮询的方式进行请求的发放,第一次为上传请求发送到了tomcat1内并存放在tomcat1的服务器内,在此发送请求的时候为下载请求,这次轮询到tomcat2服务器上,但是此时tomcat2有用户的要下载的文件么?肯定是没有的,因为两个服务器是单独的,文件的存储也是单独。
- 4.解决方式就是让两个服务器使用同一个的文件存储的目录进行文件的存储,这时候就要使用VSFTP服务器的进行统一的文件管理

分布式环境的图片管理
- 使用在分布式环境内的文件上传下载文件,在服务器的后面加上一个的FTP的客户端工具将用户的上传下载的所需要的文件通过该管理工具进行统一的管理。
- 再进行文件的上传下载的文件存储的时候用户的请求是HTTP协议,而VSFTP为FTP协议,不同协议之间是无法进行交互的,那就要使用管理工具进行协议的转换。
- 可以使用Nginx和VSFTP管理工具进行,HTTP和FTP协议之间的转换

3.VSFTPD安装
VSFTPD是的Linux的内置的服务可以直接通过yum进行应用的下载
安装 vsftpd 组件
yum -y install vsftpd
安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件。
2、 添加一个 Linux 用户
此用户就是用来登录 ftp 服务器用的管理上传的文件。
useradd ftpuser
这样一个用户建完,可以用这个登录。登录后默认的路径为 /home/ftpuser.
3 、给用户添加密码。
passwd ftpuser
输入两次密码后修改密码。
4 、防火墙开启 21 端口
- 采用修改iptables文件进行端口的开放:
- 因为 ftp 默认的端口为 21,而 centos 默认是没有开启的,所以要修改 iptables 文件vim /etc/sysconfig/iptables在行上面有 22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把 22 换成 21,然后:wq 保存。还要运行下,重启 iptables

- service iptables stop:直接管理防火墙
- 然后重启防火墙:service iptables restart
5 修改 selinux
修改 selinux:
执行以下命令查看状态:getsebool -a | grep ftp

修改访问权限
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on

6.关闭匿名访问
关闭匿名访问就是让登陆vsftpd的时候必须使用用户名和密码进行登陆不能进行匿名登录访问搭建的VSFTP服务器
- 修改/etc/vsftpd/vsftpd.conf 文件:

- 注意VSFTPD是一个服务,所以相关的操作是使用Service关键字进行操作的

本文介绍FTP协议及VSFTPD服务器的基本概念,详细讲解VSFTPD在Linux环境下安装配置流程,包括用户管理、防火墙设置及SELinux权限调整等步骤,并探讨其在分布式系统中的应用。

5567

被折叠的 条评论
为什么被折叠?



