学习ftp

文章目录

一、FTP介绍

1.FTP(File Transfer Protocol)是一种应用广泛且古老的互联网文件传输协议。

2.主要应用于互联网中文件的双向传输(上传/下载)、文件共享。

3.跨平台 Linux、Windows。

4.FTP是C/S架构,拥有一个客户端和服务端,使用TCP协议作为底层传输协议,提供可靠的数据传输。

5.FTP的默认端口21(命令端口),20(数据端口,主动模式下)默认被动模式下

FTP程序vsftp

二、两种模式(主动模式和被动模式)

★主动模式

★被动模式

三、FTP配置文件详解

bash 复制代码
/usr/lib/systemd/system/vsftpd.service #启动脚本
/etc/vsftpd #配置文件的目录
/etc/vsftpd/ftpusers #用户列表文件,黑名单
/etc/vsftpd/user_list #用户列表文件,可黑可白(默认是黑名单)
/etc/vsftpd/vsftpd.conf #配置文件(主配置文件)
/usr/sbin/vsftpd #程序本身(二进制的命令)
/var/ftp #匿名用户的默认数据根目录
/var/ftp/pub #匿名用户的扩展数据目录
bash 复制代码
[root@localhost vsftpd]# grep -v ^# /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES #支持匿名用户访问
local_enable=YES #支持非匿名用户,普通账号登录,默认进入到自己的家目录
write_enable=YES #写总开关
local_umask=022 #反掩码 file:644,dir:755
dirmessage_enable=YES #启用消息功能
xferlog_enable=YES #开启或关闭xferlog日志
connect_from_port_20=YES #支持主动模式
xferlog_std_format=YES #xferlog的日志格式
listen=NO #ftp服务独立模式下的监听
listen_ipv6=YES

pam_service_name=vsftpd #指定认证文件
userlist_enable=YES #启用用户列表
tcp_wrappers=YES #支持tcp_wrappers功能(ftp限速操作)

四、实际场景举例

禁止匿名登录,创建一个kefu用户专用于登录ftp,登录以后不进入家目录,进入/data/ftp目录并且不可以切换目录。

bash 复制代码
[root@localhost ~]# useradd kefu
[root@localhost ~]# echo 123456 |passwd --stdin kefu
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO #禁止匿名登录
local_enable=YES
local_root=/data/ftp #登录以后的默认目录
chroot_local_user=YES #锁定目录,不让切换
allow_writeable_chroot=YES

无法上传,赋予权限

bash 复制代码
setfacl -R -m u:kefu:rwx /data/ftp

禁锢目录细节

五、黑白名单

ftpusers 黑名单文件。

user_list默认是黑名单,user_list从黑名单变成白名单需要在vsftpd.conf配置文件中添加这一行。

bash 复制代码
userlist_deny=NO

六、网络限制

查看知否支持tcp_wrappers两种查询方式

  1. /configure --enable-libwrap (如果是源码安装)
  2. ldd /usr/sbin/vsftpd |grep libwrap* (如果是rpm安装)

限制FTP流量

bash 复制代码
[root@localhost vsftpd]# vim /etc/vsftpd/vsftpd.conf
local_max_rate=0
0表示不限速
local_max_rate=数字+字节
相关推荐
凛铄linshuo15 分钟前
自动化测试:pytest第一个实例学习
学习·pytest
缓慢更新28 分钟前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
续写烂尾1 小时前
贴片 SD NAND、eMMC、TF 卡规格怎么定?硬件工程师选型清单
运维·服务器·网络
不昀1 小时前
网口Link Up后仍然掉线,怎样区分物理链路和数据通路问题?
linux·以太网
迪康妍妍1 小时前
终端管控实操:封堵网盘与IM外发通道的落地思路
运维·网络·安全·架构·安全性测试
sxgzzn1 小时前
如何选择合适的开关柜在线监测工具?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统
科技小E1 小时前
监控设备品牌杂乱无法互通?EasyGBS打通孤岛,统一汇聚视频
服务器·网络·音视频
我命由我123452 小时前
智能助手通用问答边界
人工智能·python·学习·ai·学习方法·ai编程·智能体
Lhan.zzZ2 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
鬼手点金2 小时前
Agent 的学习机制:后训练、上下文学习与外部化学习
java·人工智能·git·学习·自动化·nanogpt