健壮又简单文件共享服务
admin
2023-03-11 12:01:26
0

官方语言介绍下ftp,文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,FTP 的目标是提高文件的共享性。今天从ftp的两种模式,ftp用户管理主要的两方面实践使用下。

1.ftp 两种模式
简明直接:

主动FTP:
命令连接:客户端 >1024端口 ---> 服务器 21端口
数据连接:客户端 >1024端口 <--- 服务器 20端口
被动FTP:
命令连接:客户端 >1024端口 ---> 服务器 21端口
数据连接:客户端 >1024端口 ---> 服务器 >1024端口

具体说明:

如图对于两种传输模式来说,控制连接的建立过程都是一样,均为服务器监听21号端口,客户端向服务器的该端口发起TCP连接。主动模式服务器通过控制连接知道客户端监听的端口后,使用自己的20号端口作为源端口,“主动”发起TCP数据连接。而被动模式服务器监听1024-65535的一个随机端口,并通过控制连接将该端口告诉客户端,客户端向服务器的该端口发起TCP数据连接。

两种模式该选择哪个了?选择被动模式。

如果FTP客户端在私网,FTP服务器在公网(云主机的应用场景)应该使用被动模式,因为这种应用场景FTP服务器访问不到在私网的FTP客户端,而FTP客户端可以访问到FTP服务器。

那ftp服务器放开大于1024端口,不安全,如何做了?

服务端配置高点端口,然后防火墙中限制这个端口段可以被客户端连接过来。
再者就是限制客户端的ip,指定特定的客户端地址。(谁用谁连)

被动模式配置
connect_from_port_20=NO
PASV_enable=YES 开启被动模式
PASV_min_port=%number% 被动模式最低端口
PASV_max_port=%number% 被动模式最高端口

2.ftp 创建虚拟用户(加强访问安全的措施)
简明直接:

我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

具体实施:
2.1 搭建
yum -y install vsftpd
添加虚拟用户文件,添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
vim /etc/vsftpd/vuser.txt
name #用户
passwd #密码
生成虚拟用户认证文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
编辑vsftpd的pam认证文件/etc/pam.d/vsftpd
vsftpd的其他行可注释掉。
添加以下:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
建立本地映射用户并设置宿主目录权限
useradd -d /data -s /sbin/nologin vsftpd
chmod a-w /data
chown -R vsftpd:vsftpd /data
2.2 配置文件vsftpd.conf

#连接相关
ftpd_banner=welcome to ftp service
#空闲超时时间,用户超过这段时间不动作被服务器提出。
idle_session_timeout=300
#数据连接超时时间
data_connection_timeout=60
connect_timeout=60
max_clients=100
#允许每个客户端连接3个
max_per_ip=3
listen_address=192.168.100.100
listen_port=21

#权限相关
#不允许匿名用户登录
anonymous_enable=NO
#允许本地用户登录(这里指创建系统用户vsftpd)
local_enable=YES
#允许ascii模式的上传(可以防止上传脚本等恶意文件),而不会遭受拒绝服务的危险。
ascii_upload_enable=YES

guest_enable=YES
guest_username=vsftpd
#允许匿名用户上传(这里指系统用户下的虚拟用户)
anon_upload_enable=YES
#允许匿名用户创建和写入
anon_mkdir_write_enable=YES

#开启全局权限
write_enable=YES
#设置这个之后客户端上传目录权限就改为755,文件权限就为644
anon_umask=022
#以下为系统默认设置
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
dirmessage_enable=YES
#xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_enable=YES
#connect_from_port_20=YES启用FTP数据端口的连接请求
connect_from_port_20=NO
xferlog_std_format=YES

#在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES
tcp_wrappers=YES

特别强调的配置:

#开启虚拟用户;虚拟用户对应的系统用户;PAM认证文件。
guest_enable=YES
guest_username=vsftpd
pam_service_name=vsftpd

#这种完成后只能上传文件,及下载文件。但是不能修改ftp 服务端的文件。
如何才能修改及删除呢?
anon_other_write_enable=YES  #允许虚拟用户写入权限(即修改删除操作)

2.3 启动vsftpd
systemctl start vsftpd

相关内容

热门资讯

“英版特朗普”攻城略地,英国要... 【文/观察者网 柳白】英国政坛正在经历一场强烈震荡。刚刚结束的英国地方议会选举中,首相斯塔默领导的工...
记者观察|透过这场吹风会,看懂... 一项刚从实验室诞生的新技术,如何“能落地、长得好”? 过去很多年里,我们是“先研发技术,再给它找地方...
大破防!美贸易代表炮轰美国法官... 文 观察者网 齐倩美国法院裁定新一轮全球关税非法,特朗普政府随即表示上诉。当地时间5月8日,美国贸易...
地暖管铺的稀,家里不热怎么办- 导读:地暖管铺设是有一定的标准的,如果没有达到预期效果可以找厂家协调解决,实在不行,可以采用墙角线明...
楼梯墙砖怎么贴才好看 楼梯墙砖可以分两部分来贴,第1部分要贴深颜色的,也就是楼梯与墙之间交接的地方,这些地方容易积攒灰尘,...
挂钩买什么样式的好用 吸盘挂钩... 在家居生活中,挂钩几乎是每家每户都有的小配饰。本文介绍了挂钩的几种好用样式,包括粘胶式无痕挂钩、易取...
电暖器什么样的环保? 最佳回答 现在市场上的电暖器还是比较多的。全国一线品牌有格力电暖器、美的电暖器、艾美特电暖器、先锋电...
农村可以安装什么样的热水器 农村地区的生活条件相对城市会落后一些,对于供暖、供热、供水等方面的设备要求也会有所不同。在热水器这一...
中国短剧剧组在泰国被查,8人被... 2026年5月8日,泰国清迈旅游警察逮捕了一个正在清迈非法拍摄中国短剧的8人剧组。这个剧组以当地知名...
智澄英达取得人形机器人腰髋部组... 国家知识产权局信息显示,智澄英达(杭州)科技有限公司取得一项名为“一种人形机器人腰髋部组件”的专利,...