linux服务之FTP(centos7.6)

在文章的开始,希望大家关注公众号Lind-Learn,在这里会分享各类计算机技术的知识。


1. FTP介绍

  • 引入

网络文件服务器:通过网络共享文件或文件夹,实现数据共享
NAS(Network Append storage):共享的是文件夹

  1. FTP:文件服务器
  2. samba:不同系统间的文件夹和设备共享
  3. NFS:网络文件系统
    部署思路:
  4. FTP:单纯上传下载
  5. samba:系统集成间的共享
  6. NFS:网络存储服务器
  • 介绍

FTP(File Transer Protocol)是TCP/IP协议组中的协议之一,是一个TCP协议。
功能:在服务器余客户端之间进行文件的传输。FTP就是实现两台计算机之间的拷贝。
从远处九三级拷贝文件至自己的计算机上,称之为"下载(download)"文件。
将文件从自己九三级中拷贝至远程计算机上,则称之为"上传(upload)"文件。
这个古老的协议使用的是明码传输的方式,且过去有相当多的安全危机历史。
为了更安全的使用FTP协议,我们主要采用较为安全但功能较少的vsftpd(very secure file transer protocol)这个软件。
FTP是一个C/S类型的软件,FTP监听TCP端口号为21,数据端口为20。

  • 应用场景
    • 文件服务器
    • 下载服务器
    • 上传服务器
  • 工作模式

FTP支持两种模式,一种方式叫做Standard(也就是PORT方式,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式FTP的客户端发送PORT命令道FTP服务器。Passive模式FTP的客户端发送PASV命令道FTP Server。

  • 主动模式

Port模式FTP客户端首先和FTP服务器的TCP 21端口建立连接, 通过这个通道发送命令。客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个心的连接用来传送数据,vsftp默认模式。

  • 被动模式

Passive模式在建立控制通道的时候和Standard模拟类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高位端口(端口号大于1024)并且同志客户端在这个端口上传送数据的请求后,客户端连接FTP服务器对应端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

  • 访问方式:FTP服务器在默认情况下,依据使用者登录的情况而分为三种不同的身份,分别是:
    • 实体账户:本地账户
    • 来宾账户:guest
    • 匿名登录者:anonymous ftp

2. FTP服务器部署

  • 安装部署
# vsftp安装
[root@Lind ~]# yum -y install vsftpd
# vsftp开机启动
[root@Lind ~]# systemctl enable vsftpd
#启动vsftp服务
[root@Lind ~]# systemctl start vsftpd
#验证启动(三种方式都可)
[root@Lind ~]# lsof -i :21
[root@Lind ~]# systemctl is-active vsftpd
[root@Lind ~]# systemctl is-active vsftpd

3. FTP相关配置文件

  • 主配文件 /etc/vsftpd/vsftpd.conf
  • 关于下载目录 匿名用户根目下载目录 /var/ftp 本地用户 ~
  • FTP日志 /var/log/xferlog
  • 主配文件详解
# Example config file /etc/vsftpd/vsftpd.conf
# 示例配置文件 /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# 默认编译的设置相当保守。这个示例文件稍微放宽了一些限制,使得FTP守护进程更易用。
#
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
# 请注意:此示例文件并未穷尽列出 vsftpd 的所有选项。
# 请阅读 vsftpd.conf.5 手册页以全面了解 vsftpd 的功能。
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
# 允许匿名FTP登录?(注意 - 如果注释掉下列这行,将默认允许匿名登录)。
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
# 取消注释以允许本地用户登录。
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
# 取消注释以启用任何形式的FTP写入命令。
write_enable
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值