热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

​CentOS7下搭建vsftpd服务器(本地用户模式)1、首先yum方式安装vsftpdyuminstallvsftpd2、修改vsftpd.conf配置文件cdetcvsftp
04002178c1d253678f60b50a340e20bf.png

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

1、首先yum方式安装vsftpd

yum install vsftpd

ed234d93b0405235ee52c53815b5dbb0.png
f1b62b351cdef482540ed8738ccadfcc.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

b1fd33bd03affa84fa76a178a1ee903d.png

3、创建ftp用户 例如yuanfan

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

passwd yuanfan

并设置密码

030ff67548a56670b271477589262027.png

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

systemctl enable vsftpd

systemctl start vsftpd

8cd7de3402aa9ea677a4e1f718175d51.png

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

5、客户端登录测试

ftp 172.16.30.200

d7cd0b6143d5af505e0d57ced7fff7c5.png

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

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

注释掉这一行

#auth required pam_shells.so

然后重启vsftpd服务

5b1dc34c4564d66acbb1ec8e9443ac49.png
0fa159ae8ae780d6af690fea3a86bcce.png

这时再进行登录提示

e436a92d34e1b57889c5cc10739c5c7c.png

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

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

5063b75ccbba13f6c72c718bce3b9e22.png
6370aa5ca9b4c886444c0d7f052e1185.png

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

1e3ebb3d4dfd7316d7d29a09e23727dc.png

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

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

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

44117cfc36b9b03b249458fe6d75be98.png

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

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

bd4fe9d9385be0edc187092ded32919c.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

97e5a69fb883cec168d0fa5b860a5d83.png

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

9600dc42bd1e7926e9afb690b4459ec8.png

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

8、设置成主动模式

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

pasv_enable=NO

port_enable=YES

connect_from_port_20=YES(默认有一行)

88f62a97c96e086510929b5d68d85e42.png

服务端要开放20端口

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

firewall-cmd --reload

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

passive命令切换成主动模式

c2ed6dbeb53648935eff5eabb1e04ad0.png
abf0d73332fe1a13519d6557dc6e65a8.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

55b4a0bd5e3b5b4be9d59dd50374685c.png



推荐阅读
  • linux clickhouse安装在指定目录_Centos8服务器指定目录安装配置Nginx
    1.安装前准备(1)检查是否安装过nginx(如果没有安装过可以无视)find-namenginx搜索nginx文件及其文件夹rm-rf【nginx配置地址文件及其文件夹】手动删除 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的she ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mongodb副本集+分片集群搭建相关的知识,希望对你有一定的参考价值。环境需求: ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • python网络编程 day27 网络编程初识 ——socket
    一、内容回顾1、两个内置函数(装饰器)及类中的魔术方法 ... [详细]
  • 一、安装telnet1.上传如下的rpm安装包http:mirrors.163.comcentos7.6.1810osx86_64Packagestelnet-0.17-64.el ... [详细]
author-avatar
手机用户2602923713
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有