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 协议》,转载必须注明作者和本文链接
推荐文章: