centos服务端ftp的搭建_VSFTPD服务器的搭建

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

1 FTP 服务器

  • FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。

用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。

基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传

输文件。

  • 在 FTP 的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。

"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计

算机中拷贝至远程主机上。用 Internet 语言来说,用户可通过客户机程序向(从)远程主机

上传(下载)文件。

  • FTP文件传输协议是一个有状态的协议,HTTP为无状态协议
      • 有状态的指的是:
        • FTP协议在进行文件下载的时候,如果用户下载的过程中出现关机等情况,在次下载的时候会从上次下载的断点继续下载,而使用HTTP协议的则无法使用这种情况进行文件的下载
  • FTP文件上传下载的架构图
      • 客户端和服务端的文件交互都是在FTP单独的文件上传下载服务器上进行的

5d737f70-8c17-eb11-8da9-e4434bdf6706.png

VSFTPD 简介

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd

是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、

HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的

FTP 服务器所不支持的特征。

5e737f70-8c17-eb11-8da9-e4434bdf6706.png

①vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;

②任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;

③所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;

④此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

2.VSFTPD的分布项目的应用

单体架构图片存储架构图

60737f70-8c17-eb11-8da9-e4434bdf6706.png

传统图片管理方式在分布式环境中的问题:

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

61737f70-8c17-eb11-8da9-e4434bdf6706.png

分布式环境的图片管理

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

63737f70-8c17-eb11-8da9-e4434bdf6706.png

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

64737f70-8c17-eb11-8da9-e4434bdf6706.png
  • service iptables stop:直接管理防火墙
  • 然后重启防火墙:service iptables restart

5 修改 selinux

修改 selinux:

执行以下命令查看状态:getsebool -a | grep ftp

65737f70-8c17-eb11-8da9-e4434bdf6706.png

修改访问权限

setsebool -P allow_ftpd_full_access on

setsebool -P ftp_home_dir on

67737f70-8c17-eb11-8da9-e4434bdf6706.png

6.关闭匿名访问

关闭匿名访问就是让登陆vsftpd的时候必须使用用户名和密码进行登陆不能进行匿名登录访问搭建的VSFTP服务器

  • 修改/etc/vsftpd/vsftpd.conf 文件:

68737f70-8c17-eb11-8da9-e4434bdf6706.png
  • 注意VSFTPD是一个服务,所以相关的操作是使用Service关键字进行操作的

6a737f70-8c17-eb11-8da9-e4434bdf6706.png

到此服务器搭建完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值