- FTP(文件传输协议)是TCP/IP协议中的一种,包括FTP服务器和FTP客户端两个组成部分。FTP服务器用于存储文件,用户可以通过FTP客户端访问这些资源。FTP传输效率高,适用于在网络上传输大的文件。默认情况下,FTP协议使用TCP端口中的20和21,其中20用于传输数据,21用于传输控制信息。
- SFTP(安全文件传输协议)是一种基于SSH协议的安全文件传输协议。SFTP可以看作是FTP的加强版,它用于加密的数据通道,确保数据在传输过程中不被窃听或篡改。用户认证和文件传输过程都在加密通道中进行,提高了整体的安全性。SFTP根适用于对于安全性有较高要求的文件传输场景。
- TFTP(简单文件传输协议)是一种轻量级的文件传输协议,设计用于在计算机之间简单且高效的传输文件。TFTP使用UDP协议进行通信,没有专门的控制连接,所有通信均通过单一的UDP连接完成。TFTP的简单数据包结构使其适用于资源有限的系统和网络环境。
标识 | Server | Client | WinClient |
---|---|---|---|
主机 | root@Server | root@Client | administrator@WinClient |
IP地址 | 192.168.110.1 | 192.168.110.2 | 192.168.110.10 |
软件包 | vsftpd.x86_64 | lftp.x86_64 | 无 |
修改配置文件需要注意:
- 格式为:
option=value
,两边不能留空 - 选项区分大小写,建议原有的大写修改后也使用大写
子命令解析
lftp命令解析
常用参数 | 作用 |
---|---|
-f | 指定要执行的脚本文件 |
-c | 执行指定命令后退出 |
lftp登陆后命令解析
常用参数 | 作用 |
---|---|
get | 下载文件 |
mget | 下载多个文件 |
mirror | 将指定目录完整下载,包括子目录 |
mirror -R | 将本地目录完整上传,包括子目录 |
pget -n 10 | 使用最多10个进程断点续传 |
put | 上传文件 |
mput | 上传多个文件 |
基础服务配置
搜索ftp软件包
dnf search ftp
安装vsftp
dnf install vsftpd -y
查看vsftpd的配置文件
rpm -qc vsftpd
查看vsftpd的服务名
rpm -ql vsftpd | grep service
开启服务
systemctl enable --now vsftpd
配置文件解析
配置文件位置/etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 是否允许访问(YES为允许 | NO为拒绝)
local_enable=YES # 是否允许本地用户登陆(YES为允许 | NO为拒绝)
write_enable=YES # 是否允许用户进行读写(YES为允许 | NO为拒绝)
local_umask=022 # 默认权限掩码,文件为=777-022=755,目录为666-022=644
#anon_upload_enable=YES # 是否允许匿名用户上传文件(YES为允许 | NO为拒绝)
#anon_mkdir_write_enable=YES # 是否允许匿名用户创建目录(YES为允许 | NO为拒绝)
dirmessage_enable=YES # 进入目录时会显示.message文件内容
xferlog_enable=YES # 启用传输日志功能,所有文件的上传和下载都会被记录在/var/log/vsftpd.log
connect_from_port_20=YES # 使用20端口作为数据传输端口
#chown_uploads=YES # 与下一句绑定,将上传的文件所有者更改为下面指定的用户[同时不允许上传覆盖文件]
#chown_username=whoever # 与上一句绑定,将上传的文件所有者更改为指定用户,此处指的是whoever
#xferlog_file=/var/log/xferlog # 指定传输日志文件路径为/var/log/xferlog
xferlog_std_format=YES # 使用标准的FTP传输日志格式
#idle_session_timeout=600 # 设置空闲会话的超时时间为600秒
#data_connection_timeout=120 # 设置数据连接的超时时间为120秒
#nopriv_user=ftpsecure # 设置非特权用户为ftpsecure,用于增强安全性,使FTP以非root用户身份运行
#async_abor_enable=YES # 允许异步中止操作
#ascii_upload_enable=YES # 允许ASCII模式
#ascii_download_enable=YES # 允许ASCII模式下载
#ftpd_banner=Welcome to blah FTP service. # FTP服务器的欢迎消息
#deny_email_enable=YES # 禁止特定电子邮件地址的用户登陆
#banned_email_file=/etc/vsftpd/ba