Centos7下搭建FTP文件服务器

理论部分:

FTP 会话时包含了两个通道,一个叫控制通道,端口号 21;一个叫数据通道,端
口号 20。
控制通道:控制通道是和 FTP 服务器进行沟通的通道,连接 FTP,发送 FTP 指令
都是通过控制通道来完成的。
数据通道:数据通道是和 FTP 服务器进行文件传输或者列表的通道

主动模式的工作原理(PORT 模式)

1.客户端对服务器发起请求,连接的是服务器的 21 号端口,客户端的端
口号 N 是大于 1024 的随机端口
2.服务器的 21 号端口给予客户端响应数据流
3.服务器打开 20 号端口去连接客户端的 N+1 的端口
4.客户端给予响应,数据开始传输

被动模式的工作原理(PASV 模式)

1.客户端对服务器发起的请求连接是服务器的 21 号端口,客户端的端口
号 N 是大于 1024 的随机端口
2.服务器的 21 号端口给予客户端响应
3.服务器打开一个大于 1024 的随机端口,客户端使用 N+1 端口号去连接
服务器打开的端口
4.服务器给予响应,于是数据开始传输

vsftp 提供 3 种远程的登录方式:

匿名登录方式
就是不需要用户名,密码。就能登录到服务器电脑里面
本地用户方式
需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你 linux 系
统里面,已经有的用户。
虚拟用户方式
同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密
码,在你 linux 系统中是没有的(没有该用户帐号)

一.搭建匿名访问 FTP 服务

[root@server ~]# rpm -q vsftpd #检查是否安装 vsftpd 软件包
package vsftpd is not installed
[root@server ~]# yum -y install vsftpd #yum 安装 vsftpd
[root@server ~]# vim /etc/vsftpd/vsftpd.conf #编辑配置文件
anonymous_enable=YES #安装完成之后默认是匿名模式
[root@server ~]# systemctl start vsftpd #启动 ftp 服务
[root@server ~]# netstat -anlpt | grep vsftpd #查看监听的端口号 是否启动成功
[root@server ~]# firewall-cmd –state #查看防火墙的状态,需要关闭防火墙
[root@server ~]# cd /var/ftp #进入ftp文件目录
使用windows客户端访问

在linux中访问:
[root@server ~]# yum -y install ftp #安装 FTP 客户端
[root@server ~]# ftp 192.168.1.63 //直接通过ip地址访问
进入之后输入用户名 ftp,密码直接输入回车,就可以进入ftp目录
通过ls查看ftp下文件如果出现

vsftpd 425 Security: Bad IP connecting

问题解决:
1.#vim /etc/vsftpd/vsftpd.conf
2.添加:pasv_promiscuous=YES
3.保存后退出
4.重启vsftpd #service vsftpd restart

二、配置系统用户的 FTP

关闭之前的匿名访问
[root@server ~]# vim /etc/vsftpd/vsftpd.conf #编辑配置文件
anonymous_enable=NO
[root@server ~]# systemctl restart vsftpd

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!