CentOS7下搭建vsftpd服务器(本地用户模式)

简介: CentOS7下搭建vsftpd服务器(本地用户模式)

640.jpg

CentOS7下搭建vsftpd服务器(本地用户模式)


1、首先yum方式安装vsftpd


yum install vsftpd


640.png

640.png

2、修改vsftpd.conf配置文件

cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf_default
#修改下列参数的值
anonymous_enable=NO          #禁止匿名登录FTP服务器
local_enable=YES             #允许本地用户登录FTP服务器
listen=YES                   #监听IPv4 sockets
#listen_ipv6=YES             #关闭监听IPv6 sockets或者改为NO
chroot_local_user=YES        #全部用户被限制在主目录
chroot_list_enable=YES       #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list  #指定例外用户列表文件,列表中用户不被锁定在主目录
allow_writeable_chroot=YES

以上配置可以直接用下面命令进行替换修改

sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/listen_ipv6=YES/listen_ipv6=NO/' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf

640.png


3、创建ftp用户 例如yuanfan


useradd -d /data/FTP -s /sbin/nologin yuanfan
passwd yuanfan


并设置密码


640.png

4、启动vsftpd服务,并设置开机自启动


systemctl enable vsftpd
systemctl start vsftpd

640.png


若有防火墙,需要防火墙添加ftp服务


5、客户端登录测试


ftp 172.16.30.200


640.png

输入正确的用户名密码提示530错误


解决办法vi /etc/pam.d/vsftpd  


注释掉这一行


#auth       required    pam_shells.so


然后重启vsftpd服务


640.png

640.png


这时再进行登录提示


640.png


再手动在/etc/vsftpd/目录下创建一下chroot_list文件即可

touch /etc/vsftpd/chroot_list后重新登录,可以正常登录了

640.png

640.png

在FTP服务器上可以查看到客户端上传上来的文件


640.png


6、要实现用户能够切换用户家目录


在FTP服务器这边将用户加到/etc/vsftpd/chroot_list文件中

可以man vsftpd.conf查看chroot_list帮助说明


640.png

echo yuanfan > /etc/vsftpd/chroot_list然后重启vsftpd服务

如下图所示,就可以切换家目录了(可以看出用户切换家目录风险较高)


640.png


7、被动模式限定端口

echo "pasv_enable=YES">> /etc/vsftpd/vsftpd.conf
echo "pasv_min_port=30001">> /etc/vsftpd/vsftpd.conf
echo "pasv_max_port=30010">> /etc/vsftpd/vsftpd.conf

image.png


抓包分析可以看到传输端口已经被限制在30001-30010端口范围内

640.png


另外ftp登录过程是明文传输的,抓包可以看到用户名与密码


8、设置成主动模式


删除上一步中被动模式添加的配置,改成主动模式的配置

pasv_enable=NO
port_enable=YES
connect_from_port_20=YES(默认有一行)

640.png


服务端要开放20端口

firewall-cmd --add-port=20/tcp --permanent
firewall-cmd --reload

如下图所示Linux客户端使用主动模式需要关闭防火墙


passive命令切换成主动模式

640.png

640.png

抓包可以看到传输端口为20


9、安全加固


1)禁止显示 banner 信息

#ftpd_banner=Welcome to blah FTP service.

取消注释,进行修改即可


2)限制 FTP 登录用户


在 ftpusers 和 user_list 文件中列举的用户都是不允许访问 FTP 服务的用户(例如 root、bin、daemon 等用户)。除了需要登录 FTP 的用户外,其余用户都应该添加至此拒绝列表中


3)修改监听地址和默认端口


修改 VSFTP 配置文件 vsftpd.conf,设置监听 1.1.1.1 地址的2121 端口

listen_address=1.1.1.1

isten_port=2121

640.jpg

相关文章
|
28天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
4月前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
139 6
|
4月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
87 2
|
4月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
4月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
4月前
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
121 0
|
2天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
1月前
|
弹性计算 数据挖掘 应用服务中间件
阿里云轻量应用服务器68元与云服务器99元和199元区别及选择参考
目前阿里云有三款特惠云服务器,第一款轻量云服务器2核2G68元一年,第二款经济型云服务器2核2G3M带宽99元1年,第三款通用算力型2核4G5M带宽199元一年。有的新手用户并不是很清楚他们之间的区别,因此不知道如何选择。本文来介绍一下它们之间的区别以及选择参考。
485 87
|
4天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
1天前
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
50 7