centos中安装并设置vsftpd

vsftpd是一个可安装在linux上的ftp服务器软件。

一、安装

安装前保证服务器能上互联网。如果不能上网,看看能不能设法利用局域网代理上网。

sudo yum -y install vsftpd

二、配置

1、修改配置文件

cd /etc/vsftpd
#修改之前记得备份!!!
sudo cp vsftpd.conf vsftpd.conf.bak
sudo vi vsftpd.conf

修改内容:

#取消匿名访问
anonymous_enable=NO
#添加以下内容
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

#通过搭配能实现以下几种效果: 
#①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 
#②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。 
#③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。 
#④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

#不添加下面这个会报错? 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES
#ftp端口设为50021
listen_port=50021

#启动被动式联机(passivemode)
pasv_enable=YES
#上面两个是与passive mode 使用的 port number 有关,如果您想要使用55400到55410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=55400
pasv_max_port=55410

#FTP访问目录
local_root=/home/admin/ftp/

#禁用DNS反向解析,防止FTP登录时间太长而失败
reverse_lookup_enable=NO

参考文章:Centos7安装搭建FTP服务器(最简便方法)

2、开放端口

在操作系统命令行中,

#添加主端口
sudo firewall-cmd --zone=public --add-port=50021/tcp --permanent
#添加被动端口
sudo firewall-cmd --zone=public --add-port=55400-55410/tcp --permanent
#刷新
sudo firewall-cmd --reload

确认一下端口是否已经开通了

sudo firewall-cmd --query-port=50021/tcp
sudo firewall-cmd --list-ports

3、设置开机启动vsftpd

sudo systemctl enable vsftpd.service
sudo systemctl start vsftpd.service
sudo systemctl status vsftpd.service

4、启动与重启vsftpd

如果要手动启动或重启vsftpd,可以采用如下命令:

sudo systemctl start vsftpd.service
sudo systemctl restart vsftpd.service

5、创建账号

创建一个名为“FTP_USER”的账号,该账号的主目录为“/home/admin/ftp/”,并且它没有登录权限(不能通过 shell 登录):限制它的登录 shell 为 /sbin/nologin。

#创建账号
sudo useradd -d /home/admin/ftp/ -s /sbin/nologin FTP_USER
#设置密码
sudo passwd FTP_USER
#输入和确认密码

“/sbin/nologin”并非系统提供的shell,我们要手动加进去。打开/etc/shells,在最后加入一行:/sbin/nologin

sudo vi /etc/shells

注: “/sbin/nologin” 这个名字能不能换还是另有玄机,不清楚,没有做测试。

6、ftp文件夹赋权

sudo chmod 755 /home/admin
sudo chmod 755 /home/admin/ftp
sudo chown -R FTP_USER /home/admin/ftp
sudo cp user_list chroot_list

三、测试

随便用一个ftp客户端访问测试是否连接成功即可!我用的是FileZilla Client。
在这里插入图片描述

四、登录FTP时间太长的问题

刚搭建好vsftpd时,我在本地局域网内连接,虽然登录有点慢,但能成功连接。而外网用户通过ftp客户端软件却无法登录,不过用IE可以连接上,而时间就非常慢。后来将在vsftpd.conf中加入一句,问题解决:

#禁用DNS反向解析
reverse_lookup_enable=NO

原因是与ssh一样,vsftp的配置文件默认开启了DNS反向解析,禁用就好了。当然,这句话我是抄过来的,还不明白是什么意思。
参考文章:
vsftp登录时间太长的解决办法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/732165.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch中的post_filter后置过滤器技术

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

「iOS」UI——无限轮播图实现与UIPageControl运用

「OC」UI 文章目录 「OC」UI无限轮播图的实现以及UIPageControl的实际运用明确要求简单滚动视图的实现UIPageControl的实现设置NSTimer实现自动移动补充实现 进行无限滚动视图的修改思路实现 完整代码展示 无限轮播图的实现以及UIPageControl的实际运用 明确要求 我们要实现一…

计算机组成原理笔记-第1章 计算机系统概论

第一章 计算机系统概论 笔记PDF版本已上传至Github个人仓库:CourseNotes,欢迎fork和star,拥抱开源,一起完善。 1.1 计算机系统简介 计算机系统组成: 硬件:计算机的实体,如主机、外设等软件&am…

ffmpeg windows系统详细教程

视频做预览时黑屏,但有声音问题解决方案。 需要将 .mp4编成H.264格式的.mp4 一般上传视频的站点,如YouTube、Vimeo 等,通常会在用户上传视频时自动对视频进行转码,以确保视频能够在各种设备和网络条件下流畅播放。这些网站通常…

媒体邀约有啥要注意的

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 媒体邀约是邀请媒体参与活动或报道的重要过程&#xff0c…

【国际化I18n使用方法】vue2使用i18简单实现多语种切换,刷新保持,动态数据处理

效果图 使用流程 总结就是,安装好插件后,配置几个语言的js文件,每个词都要在每个js内写一遍对应的语言,然后通过切换js文件拿到对应的语言,实现翻译的效果。然后当前使用什么语言保存到本地,这样刷新就可以…

ES数值类型慢查询优化

现象 某个查询ES接口慢调用告警,如图,接口P999的耗时都在2500ms: 基本耗时都在查询ES阶段: 场景与ES设定 慢调用接口为输入多个条件分页查询,慢调用接口调用的ES索引为 express_order_info,该索引通过DTS(数据同步…

搜索引擎推广基本概念与方法分享-华媒舍

销量是每个企业及个人在商业领域中追求的目标之一。而引擎霸屏推广就是一种高效的手段,通过该方法可以助你实现销量的狂揽。本文将为你科普引擎霸屏推广的基本概念与方法,帮助你了解如何运用这一有效的推广策略。 一、引擎霸屏推广 引擎霸屏推广指的是在…

【unity笔记】四、Enviro- Sky and Weather插件使用

一、 简介 Enviro内置 RP、URP、HDRP,开箱即用。 动态天空 随附的天空系统经过精心设计,以实现最佳性能和灵活性。使用多种颜色渐变,而不是调整人工数字。为您的项目创建独特且非常逼真的天空非常简单! 灯光 由 Enviro 控制的逼…

Redis大key有什么危害?如何排查和处理?

什么是 bigkey? 简单来说,如果一个 key 对应的 value 所占用的内存比较大,那这个 key 就可以看作是 bigkey。具体多大才算大呢?有一个不是特别精确的参考标准: String 类型的 value 超过 1MB 复合类型(Li…

WPF 程序 分布式 自动更新 登录 打包

服务器server端 core api 客户端WPF // 检查应用更新 //1、获取最新文件列表 // var files fileService.GetUpgradeFiles(); // 2、文件判断,新增的直接下载;更新的直接下载;删除的直接删除 // 客户端本地需要一个记录…

CentOS7在2024.6.30停止维护后,可替代的Linux操作系统

背景 Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。国内占有率最多的却是Centos,这是由…

C++设计模式——Composite组合模式

一,组合模式简介 真实世界中,像企业组织、文档、图形软件界面等案例,它们在结构上都是分层次的。将系统分层次的方式使得统一管理和添加不同子模块变得容易,在软件开发中,组合模式的设计思想和它们类似。 组合模式是…

Navicat和SQLynx产品功能比较二(SQL查询)

数据库管理工具最常用的功能就是SQL的查询,没有之一。本文针对Navicat和SQLynx做了SQL查询相关的性能测试,从测试结果来看,Navicat主要适合开发类的小型数据量需求,SQLynx可以适应大型数据量或小型数据量的需求,用户可…

自制HTML5游戏《开心消消乐》

1. 引言 游戏介绍 《开心消消乐》是一款基于HTML5技术开发的网页游戏,以其简单的操作方式、轻松的游戏体验和高度的互动性,迅速在社交平台上获得了广泛的关注和传播。玩家通过消除相同类型的元素来获得分数,游戏设计巧妙,易于上手…

Ubuntu系统使用快速入门实践(八)—— git 命令使用

Ubuntu系统使用快速入门实践系列文章 下面是Ubuntu系统使用系列文章的总链接,本人发表这个系列的文章链接均收录于此 Ubuntu系统使用快速入门实践系列文章总链接 下面是专栏地址: Ubuntu系统使用快速入门实践系列文章专栏 文章目录 Ubuntu系统使用快速…

锂锗磷硫(LGPS)是代表性硫化物固态电解质产品之一 技术研究不断深入

锂锗磷硫(LGPS)是代表性硫化物固态电解质产品之一 技术研究不断深入 锂锗磷硫,化学式为Li10GeP2S12,英文简称LGPS,是一种代表性硫化物固态电解质,外观为灰白色至深灰色固体粉末状。 全固态锂电池是传统液态…

网上的流量卡真的可以免费领取吗?

网上的流量卡真的可以免费领取吗?当然可以,目前运营商推出的流量卡都是可以免费领取的。 有很多朋友私信给小编,听说流量卡是免费领取的就觉得不太靠谱,其实这种想法是不对的,首先大家要换位思考一下,如果我…

[JS]数据类型

介绍 在计算中一切事物都是数据, 为了提高数据的存储和使用效率, 要对数据进行类型的分类 栈(操作系统): 由操作系统自动分配释放函数的参数值, 局部变量的值等, 其操作方式类似于数据结构中的栈; 基本数据类型存放在栈里面string, number, boolean, undefined, null 堆(操作…

设计模式1-简介

设计模式简介 专栏的目的什么是设计模式设计模式要学什么软件开发原则主流设计模式 学习建议经典面试题 资源 专栏的目的 1.理解松耦合的设计思想 2.掌握面向对象设计原则 3.掌握重构技法改善设计 4.掌握GOF核心设计模式 什么是设计模式 每一个模式描述了一个在我们周围不…