【每日一记5】第3天 测试搭建ftp服务器
  

沧海 11371人觉得有帮助

{{ttag.title}}
FTP,即:文件传输协议(File Transfer Protocol),基于客户端/服务器模式,默认使用20、21端口号,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参
数。FTP服务器普遍部署于局域网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支
持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。
FTP协议有以下两种工作模式:
主动模式(PORT):FTP服务器主动向客户端发起连接请求。
被动模式(PASV):FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。
vsftpd是一款运行在Linux操作系统上的FTP服务程序,具有很高的安全性和传输速度。

1.输入图中命令,若输出图中信息表示已安装vsftpd,否则输入命令:yum install -y vsftpd 进行安装

2.安装完成后
vsftpd缺省安装在/etc/vsftpd/目录中,进入该目录后如下所示
1.vsftpd.conf:为核心配置文件
2.user_list:指定允许使用vsftpd 的用户列表文件,即白名单
3.ftpusers:指定哪些用户不能访问FTP服务器,即黑名单
3.配置防火墙开放vsftpd命令端口与PASV模式下的端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=45000-49000/tcp --permanent
firewall-cmd --reload

4.创建用于FTP认证的用户数据库文件
vim /etc/vsftpd/vuser.txt
其中奇数行为用户名,偶数行为密码
5.创建虚拟用户映射的系统本地用户和FTP根目录
输入命令:
useradd -d /ftp_data -s /sbin/nologin virtual
chmod -Rf 755 /ftp_data

6.建立用于支持虚拟用户的PAM文件
PAM(可插拔认证模块)是一种认证机制,通过一些动态链接库和统一的API把系统提供的服务与认证方式分
开,使得系统管理员可以根据需求灵活调整服务程序的不同认证方式。PAM采用了分层设计(应用程序层、
应用接口层、鉴别模块层)的思想,其结构如下图所示。
vim /etc/pam.d/vsftpd.vu
添加以下信息
auth         required    pam_userdb.so    db=/etc/vsftpd/vuser
account   required    pam_userdb.so    db=/etc/vsftpd/vuser

6.为vuser.txt里的用户配置相关参数
(1) 创建存放用户的目录
mkdir /etc/vsftpd/vusers_dir
(2) 为各用户创建文件,文件名即为用户名
vim /etc/vsftpd/vusers_dir/xuyuanyuan
vim /etc/vsftpd/vusers_dir/chendanting

(3) 按各用户需要加入参数配置
local_root=/ftp_data/xuyuanyuan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=YES
6.修改核心配置文件vsftpd.conf为以下内容
anonymous_enable=NO
local_enable=YES
# 开启虚拟用户模式
guest_enable=YES
# 指定虚拟用户对应的系统用户
guest_username=virtual
# 允许对ftp根目录执行写入操作
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen_port=21
listen=NO
listen_ipv6=YES
#PAM文件
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
# 虚拟用户配置文件目录
user_config_dir=/etc/vsftpd/vuser_dir
# 被动模式端口范围
pasv_min_port=45000
pasv_max_port=49000
chroot_local_user=YES

7.最后启动服务即可访问
systemctl start vsftpd.serivce 启动服务
systemctl stop vsftpd.serivce 停止服务
systemctl status vsftpd.serivce 查看服务状态
systemctl restart vsftpd.serivce 查看服务状态
在浏览器输入 ftp://ip:21 就可访问了

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

崔佳旺 发表于 2022-2-25 10:14
  
楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢你!在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这社区少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我会遗憾终生的!
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
每周精选
干货满满
技术咨询
信服课堂视频
秒懂零信任
自助服务平台操作指引
新版本体验
标准化排查
产品连连看
安装部署配置
功能体验
GIF动图学习
玩转零信任
2023技术争霸赛专题
技术晨报
安全攻防
每日一记
深信服技术支持平台
天逸直播
华北区交付直播
社区帮助指南
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV

本版版主

461
244
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人