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

相关文章
|
3月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。
|
5月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
597 17
|
4月前
|
弹性计算 运维 分布式计算
阿里云服务器付费模式选择:节省计划、预留实例券、抢占式实例详解
在我们选购阿里云服务器的时候,有多种计费方式可选,其中包年包月和按量付费是用户最熟悉也是选择最多的计费方式,除了这两种方式之外,阿里云还提供了抢占式实例、节省计划、预留实例券三种更为灵活且经济的付费模式,旨在满足不同业务场景下的长周期低成本与短周期高弹性需求,有的新手用户朋友不清楚这三种计费方式是什么,本文将为大家解析这三种付费模式的内在机制、优势对比及适用场景,以供您选择参考。
|
5月前
|
安全
基于Reactor模式的高性能服务器之Acceptor组件(处理连接)
本节介绍了对底层 Socket 进行封装的设计与实现,通过 `Socket` 类隐藏系统调用细节,提供简洁、安全、可读性强的接口。重点包括 `Socket` 类的核心作用(管理 `sockfd_`)、成员函数的功能(如绑定地址、监听、接受连接等),以及 `Acceptor` 组件的职责:监听连接、接收新客户端连接并分发给上层处理。同时说明了 `Acceptor` 与 `EventLoop` 和 `TcpServer` 的协作关系,并展示了其成员变量和关键函数的工作机制。
138 2
|
4月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。
|
5月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
513 5
|
5月前
|
安全 关系型数据库 网络安全
安全加固:启动PostgreSQL 14服务器SSL加密的方法指南在CentOS 7环境中
通过上述步骤,你可以为PostgreSQL数据库服务器设置SSL加密,从而增加数据在传输中的安全性。确保维持证书的有效性,并且定期更新和管理密钥,以防止未授权访问。
288 0
|
7月前
|
Kubernetes Ubuntu Linux
阿里云服务器使用centos还是ubuntu?
在选择阿里云服务器操作系统时,CentOS和Ubuntu各有优势。CentOS以企业级稳定性著称,适合数据库、ERP等长期稳定需求;而Ubuntu开发者友好,支持最新硬件与功能,更适合开发/测试环境及云计算场景。两者在阿里云上均有官方镜像支持,性能差异可忽略。无特殊需求时推荐Ubuntu 22.04 LTS,若需RHEL生态则选AlmaLinux。根据实际需求、团队技术栈及场景灵活决策,阿里云还支持更换系统盘降低试错成本。
|
8月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
491 13