FTP是比较传统的文件传输协议
File Transfer Protocol
具备简单、高效、通用性强的特点
几十年下来
基本上任何环境都支持FTP
今天教大家手把手搭建一套环境
一台安装了Linux的电脑,作为服务端
一台Windows的电脑,作为客户端A
一台Linux的电脑,作为客户端B
两台客户端
都可以通过命令行方式
对服务器端通过FTP
进行文件的上传、下载
我们需要一个软件 vsftpd
在服务器上
建立专用账户和目录
提供FTP功能
先执行基础命令:
# 创建账户 “了不起”
adduser lbq
# 设置密码
passwd lbq
# 切换用户lbq
su lbq
# 创建服务端文件存放目录
mkdir -p /server/ftp
# 授权
chmod 755 /server/ftp
建好后,开始安装服务端程序
yum install vsftpd
# 会安装到 /etc/vsftpd/ 目录
这样主程序已经安装好了
需要对模式、目录等做一下配置
首先需要科普一下
两种传输模式:被动pasv和主动port
相对来说被动更安全
数据端口为服务端分配
仅需要开启连接端口例如21
以下是配置过程
cd /etc/vsftpd/
# 请先备份默认文件
cp vsftpd.conf vsftpd.conf.bak
# 修改配置
vim vsftpd.conf
# 增加这几行
listen_port=21
local_root=/server/ftp
# 被动模式
port_enable=NO
pasv_enable=YES
pasv_promiscuous=YES
# 被动端口的min-max可以自定义
pasv_min_port=9000
pasv_max_port=9100
在防火墙中
开启我们所配置的端口段
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=21/udp --permanent
firewall-cmd --zone=public --add-port=9000-9100/tcp --permanent
firewall-cmd --zone=public --add-port=9000-9100/udp --permanent
firewall-cmd --reload
端口生效后
即可开启系统服务
# 启动
systemctl start vsftpd
# 开机自动启动
systemctl enable vsftpd
无论Windows还是Linux
客户端统一使用命令行连接服务端
记住以下几个命令就行了
ftp:开启ftp模式
open:输入服务端的 ip 端口,默认21端口
ls:查看服务端文件
put:上传文件
get:下载文件
quit:退出ftp模式
那我们开始尝试使用
# 连接
ftp
# 进入ftp命令提示符
open 192.168.2.123 21
# 发送文件
put f:/abc.pdf
# 下载文件
get abc.pdf
# 查看文件
ls
基本操作非常简单
而且不区分环境
就能实现简单的上传下载
如果需要一些复杂的应用
比如队列操作、批量操作等
可以借助一些高级的FTP工具软件
比如 FlashFXP
非常好用
大家可以尝试搭建一套系统
亲自体验一下吧