FTP文件传输服务

一、FTP服务

简介

FTP服务是指文件传输协议(File Transfer Protocol)的服务。它是一种用于在网络上进行文件传输的标准协议。FTP服务允许用户通过客户端与服务器进行连接,并在两者之间传输文件。其工作原理是基于客户端-服务器模型。客户端通过FTP客户端软件与服务器建立连接,并提供用户名和密码进行身份验证。一旦连接建立成功,客户端可以通过一系列的FTP命令来与服务器进行文件传输操作。
FTP服务提供了一系列的命令,例如上传文件、下载文件、删除文件、重命名文件、创建目录等。用户可以通过这些命令在客户端和服务器之间进行文件传输和管理。通常使用TCP/IP协议进行通信,使用默认端口号为21。然而,FTP服务也可以通过被动模式或加密模式进行配置,以增加安全性和灵活性。在互联网上广泛应用于文件共享、网站维护、软件发布等场景。它提供了一种简单、可靠、高效的方式来传输文件,并且支持多种操作系统和平台。

FTP连接

控制连接:TCP 21,用于发送FTP命令信息
数据连接:TCP 20,用于上传、下载数据
数据连接的建立类型:

  • 主动模式:服务端从20端口主动向客户端发起连接
  • 被动模式:服务端在指定范围内某个端口被动等待客户端连接

FTP用户的类型

匿名用户:anonymous或ftp
本地用户:帐号名称、密码等信息保存在passwd、shadow文件中
虚拟用户:使用独立的帐号/密码数据文件

常见的FTP服务器程序

IIS、Serv-U wu-ftpd、Proftpd vsftpd(Very Secure FTP Daemon)

常见的FTP客户端程序

  • ftp命令
  • CuteFTP、FlashFXP、LeapFTP、Filezilla
  • gftp、kuftp

二、vsftpd服务基础

虚拟机:Centos7

vsftpd软件包

  • vsftpd-3.0.2-22.el7.x86_64.rpm
  • 安装vsftpd: rpm ivh 软件包名(要先找到该包位置)

Vsftpd服务资料

用户控制列表文件

  • /etc/vsftpd/ftpusers
  • /etc/vsftpd/user_list

主配置文件

  • /etc/vsftpd/vsftpd.conf

安装FTP服务成功图
在这里插入图片描述

主配置文件vsftpd.conf

常用的全局配置项

listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的IP地址
listen_port=21:设置监听FTP服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用user_list列表文件
userlist_deny=YES:是否禁用user_list中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一IP地址的并发连接数

常用的匿名FTP配置项

anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的FTP根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)

将上述内容写入/etc/vsftpd/vsftpd.conf,删除:及后面汉字
在这里插入图片描述

常用的本地用户FTP配置项

local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的FTP根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)

三、构建可匿名上传的FTP服务器

1.准备匿名FTP访问的目录
使匿名用户FTP对该目录有写入权限

[root@localhost ~]# chown ftp /var/ftp/pub/
[root@localhost ~]# ls -ld /var/ftp/pub/
drwxr-xr-x 4 ftp root 4096 02-24 10:36 /var/ftp/pub/

2.开放匿名用户配置,并启动vsftpd服务

[root@localhost vsftpd]# service vsftpd start
为 vsftpd 启动 vsftpd:                                    [确定]
[root@localhost vsftpd]# netstat -anpt | grep "vsftpd"
tcp      0      0 0.0.0.0:21        0.0.0.0:*          LISTEN      8989/vsftpd
[root@localhost]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES  允许匿名访问      	
local_enable=NO              	
write_enable=YES      开放服务器读写权限       	
anon_umask=022              	
anon_upload_enable=YES       	允许匿名上传
anon_mkdir_write_enable=YES   	允许匿名用户创建目录
dirmessage_enable=YES

在这里插入图片描述

四、测试匿名FTP服务器

访问ftp

  1. 设置firewalld放行ftp(见下图)或关闭firewalld
  2. 设置SElinux放行ftp或关闭SElinux
  3. 在地址栏输入ftp://ip,确认可以打开文件夹。

在这里插入图片描述

五、总结

总结起来,FTP服务是一种常用的文件传输协议,可以在不同操作系统之间进行高效的文件传输。它具有多用户支持、目录管理、权限控制等特点,方便用户进行文件的上传、下载和管理。同时,FTP服务也提供了匿名访问和日志记录等功能,增强了安全性和监控性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值