Linux网络—FTP服务

目录

一、FTP介绍

1、FTP—文件传输协议

2、FTP主动模式与被动模式

1)主动模式

2)被动模式

二、安装配置FTP

1、安装环境

2、修改配置文件

3、启动FTP

本地用户验证访问

白名单与黑名单


一、FTP介绍

1、FTP—文件传输协议

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。它能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令

2、FTP主动模式与被动模式

1)主动模式

服务器主动发起数据连接。客户端给服务端的21控制端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会连接客户端已打开的那个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件。

2)被动模式

服务器被动等待数据连接。客户端给服务器端的21端口发命令说,我要下载什么什么,服务端知道后,就打开一个空闲的端曰,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧。于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西。

二、安装配置FTP

1、安装环境

关闭防火墙

systemctl start vsftpd
systemctl stop firewalld
setenforce 0

安装svftpd、备份vsftpd的配置文件

yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak

2、修改配置文件

设置匿名用户访问的FTP服务(最大权限)

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES            #开启匿名用户访问。默认已开启
write_enable=YES                #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)。
anon_upload_enable=YES          #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES     #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable =YES    #允许删除、重命名、覆盖等操作。需添加

3、启动FTP

本地用户验证访问

白名单与黑名单

置用户白名单,添加用户登录访问,登录成功

设置用户黑名单,用户登录访问,登录失败

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux网络编程下实现的FTP服务器项目是一个包含客户端和服务端的项目,主要用于实现客户端对服务器上的文件进行展示、显示路径、删除、上传、下载等功能,同时也可以对客户端本身文件进行展示、显示路径、删除文件等功能。通过该项目,用户可以利用FTP协议在Linux环境下进行文件传输操作。 为了实现FTP服务器的文件传输功能,可以参考以下步骤: 1. 首先,需要编写FTP服务器的代码。可以使用C语言编写,基于Linux网络编程相关的API和库函数,如socket、bind、listen、accept等。编写的服务器代码可以实现文件的上传和下载功能。 2. 在服务器代码中,需要处理客户端的连接请求,并建立与客户端之间的数据通信。可以使用socket函数创建服务器套接字,并使用bind函数将服务器套接字绑定到指定的IP地址和端口号。使用listen函数监听客户端连接请求,并使用accept函数接受客户端的连接请求,建立与客户端之间的通信。 3. 一旦与客户端建立连接,服务器可以接收客户端发送的命令,并根据命令执行相应的操作。例如,当客户端发送上传文件的命令时,服务器可以接收客户端发送的文件数据,并保存到服务器的指定目录下。类似地,当客户端发送下载文件的命令时,服务器可以读取服务器上的指定文件,并将文件数据发送给客户端。 4. 在客户端代码中,用户可以通过命令行或者图形界面与服务器进行交互。用户可以输入相应的命令来上传文件到服务器,或者从服务器下载文件到本地。客户端可以使用Linux系统提供的FTP客户端工具,或者自己编写FTP客户端代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值