2022争霸赛*干货满满#linux环境下FTP(vsftpd)服务器搭建实战#包含很多linux小知识
  

新手386710 12742人觉得有帮助

{{ttag.title}}
一、FTP服务简介
     FTP(文件传输协议)常用的网络协议之一,为系统提供了通过网络与远程服务器进行文件传输的简便方法
FTP服务器包名称为vsftpd(Very secure File Transfer Protocol Daemon)。
二、搭建步骤
2.1 虚拟机准备和搭建环境
虚拟机准备,建议额外新增一块盘,挂载给ftp服务器的目录
注:虚拟机安装步骤略

centos版本cat /etc/redhat-release
环境准备
     内网、外网都可以搭建,外网搭建会比较得心应手,需要的包都可以从公网拉取;内网搭建,需要考虑软件包的下载,也可以通过本地YUM(https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=228235)实现软件的拉取安装。首先检查是否有ftp服务端的安装包,通过yum list列出linux虚拟机的所有软件包。
注:ftp服务器的安装包名字为vsftpd.x86_64

或者通过yum list "*ftp*"检查安装包

2.2 安装ftp服务
     经过对linux虚拟机进行检测,已经包含了ftp服务安装包,可以直接进行安装。
注:安装过程,建议用yum install -y vsftpd.x86_64,可以减少安装中进行选择,一般都选择yes,也就是y确认


2.3 安装完毕,可以找出安装后的安装包具体名字,并且通过查询所得名字列出vsftpd对应安装的路径
rpm -qa |grep vsftpd  查询已经安装了的具体安装包名字
rpm -ql vsftpd-3.0.2-29.el7_9.x86_64  查看具体安装包存放路径

2.4  查看ftp服务是否正常
(1)通过监听21端口,发现21端口未启用
(2)systemctl status vsftpd
注:验证发现,ftp服务成功安装也需要手动重启服务,并且建议开启开机自启,免得服务器重启之后,ftp服务异常

2.5 启动ftp服务和开机自启
systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd

2.6 ftp服务的具体文件配置路径
/etc/vsftpd,配置文件vsftpd.conf,我们可以通过修改配置文件进行相应参数调整

三、ftp配置文件vsftpd.conf的参数介绍
小技巧:工作中,修改配置的时间很多,很多参数是我们不需要查看的,我们可以通过管道符进行一些查看参数的优化,比如注释行或者空格,我以ftp服务配置文件举例。
原有配置
过滤注释行
cat vsftpd.conf |grep -v "^#"  -v反向查找,"^#"代表以#开头的
过滤空格
cat vsftpd.conf |grep -v "^#" |grep -v "^$" ,"^$" 代表过滤空白行
anonymous_enable=YES 允许匿名用户登录
write_enable=YES 允许本地用户的写权限
local_enable=YES 允许本地用户登录
local_umask=022
允许匿名用户上传文件,需要结合anon_upload_enable=YES使用
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
允许匿名用户修改上传文件的所有权
xferlog_std_format=YES
允许使用对应格式来上传和下载文件,需要结合下列两个使用
ascii_upload_enable=YES
ascii_download_enable=YES
listen=NO         默认监听关闭
listen_ipv6=yes  默认监听ipv6
pam_service_name=vsftpd
userlist_deny=YES  user_list中记录的都是被拒绝的名单
tcp_wrappers=YES 设置采用tcp_wrappers来实现来对主机的访问控制

四、验证
4.1 浏览器无法通过web界面访问
4.2 解决办法
关闭操作系统自身防火墙
setenforce 0   设置SELinux 成为permissive模式
systemctl stop firewalld  关闭防火墙
systemctl status firewalld 查看状态

4.3 浏览器验证
      通过web访问,我们可以知道匿名访问路径ftp的默认存放路径是/var/ftp/pub
find / -name "*pub"


4.4 虚拟机之间互访验证
新增账号用于ftp验证
useradd zgt 新增用户
echo 123456 |passwd --stdin zgt 设置密码

虚拟机访问ftp服务器
ftp 192.168.13.184
注:可以发现,匿名用户访问路径和新增访问路径不一样,新增用户路径一般是/home/用户名,通过在新增用户路径新建一个文件,匿名用户路径没有新增。
新增有
无文件

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

打赏
4人已打赏

发表新帖
热门标签
全部标签>
每日一问
每周精选
技术盲盒
干货满满
2024年技术争霸赛
技术笔记
产品连连看
技术咨询
2023技术争霸赛专题
标准化排查
技术晨报
GIF动图学习
安装部署配置
新版本体验
秒懂零信任
功能体验
文档捉虫活动
自助服务平台操作指引
信服课堂视频
通用技术
答题自测
每日一记
SDP百科
玩转零信任
技术圆桌
在线直播
问题分析处理
畅聊IT
专家问答
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
流量管理
运维工具
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播

本版达人

新手89785...

本周建议达人

YangZhe...

本周分享达人