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

相关文章
|
27天前
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
60 2
在 centos7 下重启/开启 redis 服务器
|
22天前
|
消息中间件 分布式计算 监控
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
大数据-78 Kafka 集群模式 集群的应用场景与Kafka集群的搭建 三台云服务器
42 6
|
23天前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
47 2
|
15天前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
26天前
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
45 0
|
3月前
|
数据采集 弹性计算 供应链
阿里云服务器付费模式:按量付费、包年包月和抢占式实例全解析
阿里云服务器提供包年包月、按量付费与抢占式实例三种付费模式。包年包月为预付费,适合长期稳定使用,价格更优惠并支持备案。按量付费则为后付费模式,按小时结算,适合短期或访问量波动大的场景,但不支持备案。抢占式实例基于按量付费,价格更低(最多节省90%),适用于无状态应用,如临时测试或可弹性伸缩的Web服务,但存在被系统释放的风险,同样不支持备案。根据具体需求选择合适的付费模式能够有效降低成本并提高效率。
78 0
|
3月前
|
Ubuntu 关系型数据库 应用服务中间件
在Ubuntu 18.04上安装和配置pgAdmin 4服务器模式的方法
在Ubuntu 18.04上安装和配置pgAdmin 4服务器模式的方法
71 0
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 服务器上安装和保护 phpMyAdmin 与 Apache 的方法
在 CentOS 7 服务器上安装和保护 phpMyAdmin 与 Apache 的方法
57 0
|
3月前
|
Linux 数据安全/隐私保护
在CentOS 7服务器上添加和删除用户的方法
在CentOS 7服务器上添加和删除用户的方法
102 0