LINUX基础培训十八之常见服务vsftp介绍

前言、本章学习目标 
  1. 了解vsftp服务用途
  2. 掌握配置vsftp服务器
  3. 掌握vsftp日常使用

一、什么是文件传输协议(VSFTP)

vsftpd一红帽企业版linux的默认ftp服务器
·不再由xinetd管理
·xinetd是一个非独立服务·有很多服务要依靠它实现”
·xinetd是一个daemon程序,所有结尾带d的程序都是daemon程序,也就是守护程序
守护程序分为2种处理模式:
第一个是stand alone状态的,表示该程序始终监听,一直处于运行状态,例如httpd
第二个是super daemon,它始终处于sleep状态,直到有人唤醒它,xinetd就是个superdaemon,但它的使命是将一个请求转给其他服务,也就是服务的管理者
·允许系统、匿名或虚拟(仅用于FTP服务)用户的访问
·匿名目录层次结构由vsftpd RPM提供
·/etc/vsftpd/vsftpd.conf是主配置文件

二、服务侧写

类型:系统V(SystemV)管理的服务
软件包:vsftpd
守护进程:/usr/sbin/vsftpd
脚本: /etc/init.d/vsftpd
端口: 21(ftp),20 (ftp-data)
配置文件: /etc/vsftpd/vsftpd.conf /etc/vsftpd/ftpusers/etc/pam.d/vsftpd
日志:/var/log/xferlog
相关软件包:tcp_wrappers,ip_conntrack_ftp,ip_nat_ftp

三、与ftp有关的配置文件


/etc/vsftpd/vsftpd.conf :vsftp主配置文件


/etc/pam.d/vsftpd:
这个是vsftpd使用PAM模块时的相关配置文件。主要用来作为身份认证之用,还有一些用户身份的抵挡功能,也是透过这个档案来达成的


/etc/vsftpd/ftpusers:
与上一个档案有关系,也就是PAM 模块(etc/pam.d/vsftpd)所指定的那个无法登入的用户配置文件


/etc/vsftpd/user_list:
这个档案是userli是否能够生效与vsftpd.conf内的两个参数有关,分别st_enable,userlist_deny,是vsftpd自定义的阻挡项目,在预设的情况下,你可以将不希望可登入vsftpd 的账号写入这里,不过这个档案的功能会依据vsftpd.conf配置文件内的user list_deny={YES}而不同


/etc/vsftpd/chroot_list:
这个档案预设是不存在的,所以你必须要手动自行建立。这个档案的主要功能是可以将某些账号的使用者chroot在他们的家目录下,但这个档案要生效与vsftpd.conf 内的[chroot _list enable,chroot_list_file] 两个参数有关。如果你想要将某些实体用户限制在他们的家目录下而不许到其他目录去,可以启动这个设定项目.


/usr/sbin/vsftpd  这就是vsftpd的主要执行档


/var/ftp/  这个是vsftpd的预设匿名者登入的根目录

四、vsftpd.conf的主配置文件介绍

1.与匿名者有关的信息:
anonymous_enable=YES //允许匿名用户登录使用ftp

2.与实体用户有关的设定
local_enable=YES//允许本地用户登录
write_enable=YES //允许用户上传数据(包括档案与目录)
local_umask=022//建立新目录(755)与档案(644)的权限

3.与服务器环境有关的设定
dirmessage_enable=YES //若目录下有message 则会显示该档案的内容
xferlog_enable=YES //启动登录文件记录,记录于/var/log/xferlog
connect_from_port_20=YES //支持主动式联机功能
xferlog_std_format=YES //支持WuFTP的登录档格式
listen=YES //使用stand alone方式启动 vsftpd
pam_service_name=vsftpd //支持PAM模块的管理
userlist_enable=YES //支持/etc/vsftpd/user_list档案内的账号登入管控!
tcp_wrappers=YES //支持TCPWrappers的防火墙机制

五、ftp协议传输原理

使用端口
command port 21
data port 20
传输模式
主动模式(ACTIVE):服务端从20端口主动向客户端发起连接。
被动模式(PASSIVE):服务端在指定范围内的某个端口被动等待客户端发起连接。
一般都采用被动模式。主动模式存在安全隐患,客户机很容易发起DdoS攻击。
主动FTP:
命令连接:客户端>1023端口->服务器21端口
数据连接:客户端>1023端口<服务器20端口


被动FTP:
命令连接:客户端>1023端口->服务器21端口
数据连接:客户端>1023端口->服务器>1023端口

六、vsftpd服务器搭建实践

1、安装vsftp
yum install -y vsftpd
chkconfig vsftpd on

2、修改配置文件
anonymous_enable=NO 
local_enable=YES  
write_enable=YES  
chroot_local_user =YES       
chroot_list_enable=NO        
chroot_list_file=/etc/vsftpd/chroot_list    
local_umask=022    
userlist_enable=YES
userlist_deny=NO

3、创建用户
useradd ftpuser  -s /sbin/nologin -d /ftpdata/ftpuser
 

七、ftp相关典型问题

·问题描述
我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致这个目录的权限是不能打开所有权限的;是您运行了chmod 777  /var/ftp所致;
500 0OPS: vsftpd: refusing to run with writable anonymous root。

·问题分析:如设置/var/ftp权限为777 则所有人都有读写执行权限,任何人都可以删除其中的文件,假如有人上传病毒怎么办,这样安全隐患很大,所以一定不要把/var/ftp目录权限改成777。

八、本章实验 

1、搭建一个vsftpd服务,并使用客户端登录上传下载测试。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Backtrader 文档学习-Bracket Orders

Backtrader 文档学习-Bracket Orders 1. 概述 组合订单类型是一个非常宽泛的订单类别&#xff0c;只要brokder支持的订单类型都可以&#xff0c; 包括(Market, Limit, Close, Stop, StopLimit, StopTrail, StopTrailLimit, OCO)。 该功能用于回测&#xff0c;交互broker Brac…

银行数据仓库体系实践(3)--数据架构

狭义的数据仓库数据架构用来特指数据分布&#xff0c;广义的数据仓库数据架构还包括数据模型、数据标准和数据治理。即包含相对静态部分如元数据、业务对象数据模型、主数据、共享数据&#xff0c;也包含相对动态部分如数据流转、ETL、整合、访问应用和数据全生命周期管控治理。…

TensorFlow2实战-系列教程2:神经网络分类任务

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 1、Mnist数据集 下载mnist数据集&#xff1a; %matplotlib inline from pathlib imp…

项目实战——Qt实现FFmpeg音视频转码器

文章目录 前言一、移植 FFmpeg 相关文件二、绘制 ui 界面三、实现简单的转码四、功能优化1、控件布局及美化2、缩放界面3、实现拖拽4、解析文件5、开启独立线程6、开启定时器7、最终运行效果 五、附录六、资源自取 前言 本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过…

【干货】【常用电子元器件介绍】【电阻】(二)--敏感电阻器

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。   电子电路中除了采用普通电阻器外&#xff0c;还有一些敏感电阻器&#xff08;如热敏电阻器、压敏电阻器、光敏电阻器等&#xff09;也被广泛地应用。然而…

【华为 ICT HCIA eNSP 习题汇总】——题目集10

1、以下哪个动态路由协议不能应用在 IPv6 网络中&#xff1f; A、IS-IS B、RIPng C、BGP4 D、OSPFv3 考点&#xff1a;路由技术原理 解析&#xff1a;&#xff08;A&#xff09; IS-ISv6 是在 IPv6 环境下&#xff0c;IS-IS 协议进行了相应的扩展和改进&#xff0c;以适应 IPv6…

css中隐藏页面元素的方式(详细讲解)

这里写目录标题 一、前言二、实现方式display:nonevisibility:hiddenopacity:0设置height、width属性为0position:absoluteclip-path小结 三、区别参考文献 一、前言 在平常的样式排版中&#xff0c;我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种&#xf…

vue项目中使用Element多个Form表单同时验证

一、项目需求 在项目中一个页面中需要实现多个Form表单&#xff0c;并在页面提交时需要对多个Form表单进行校验&#xff0c;多个表单都校验成功时才能提交。 二、实现效果 三、多个表单验证 注意项&#xff1a;多个form表单&#xff0c;每个表单上都设置单独的model和ref&am…

matlab对负数开立方根得到虚数的解决方案

问题描述&#xff1a;在matlab中&#xff0c;对负数开立方根&#xff0c;不出意外你将得到虚数。 例如 − 27 3 \sqrt[3]{-27} 3−27 ​&#xff0c;我们知道其实数解是-3&#xff0c;但在matlab中的计算结果如下&#xff1a; 问题原因&#xff1a;matlab中的立方根运算是在…

详细分析Java的树形工具类(含注释)

目录 前言1. 基本框架2. 实战应用 前言 对应的每个子孙属于该父亲&#xff0c;这其实是数据结构的基础知识&#xff0c;那怎么划分怎么归属呢 对应的基本知识推荐如下&#xff1a; 【数据结构】树和二叉树详细分析&#xff08;全&#xff09;【数据结构】B树和B树的笔记详细…

vue实现在线Excel表格功能

目录 1.安装x-data-spreadsheet xlsx 2.引入 3.使用 1.安装x-data-spreadsheet xlsx npm i x-data-spreadsheet xlsx2.引入 import zhCN from "x-data-spreadsheet/src/locale/zh-cn"; import Spreadsheet from "x-data-spreadsheet"; import * as X…

Scala基础知识

scala 1、scala简介 ​ scala是运行在JVM上的多范式编程语言&#xff0c;同时支持面向对象和面向函数式编程。 2、scala解释器 要启动scala解释器&#xff0c;只需要以下几步&#xff1a; 按住windows键 r输入scala即可 在scala命令提示窗口中执行:quit&#xff0c;即可退…

mybatis基础知识

title: mybatis的基础知识创建mybatis数据库&#xff0c;创建user表&#xff0c;在里面添加数据 创建空项目&#xff0c;创建maven模块 导入相关的依赖 在pom.xml文件中导入mysql&#xff0c;junit测试&#xff0c;mybatis依赖。 <!--导入mysql依赖--><dependency&g…

四步搞定国赛!快速入门大小模型融合的AI产品开发

前不久&#xff0c;2024中国大学生服务外包创新创业大赛正式启动&#xff01;作为中国高等教育学会“全国普通高校学科竞赛排行榜”竞赛&#xff0c;飞桨赛道已经吸引了超过200位选手报名参赛。 本文旨在助力“A01-基于文心大模型智能阅卷平台设计”赛道选手&#xff0c;更快地…

7.【SpringBoot3】项目部署、属性配置、多环境开发

1. SpringBoot 项目部署 项目完成后&#xff0c;需要部署到服务器上。 SpringBoot 项目需要经过编译打包生成一个 jar 包&#xff08;借助打包插件 spring-boot-maven-plugin&#xff09;&#xff0c;再将该 jar 包发送或拷贝到服务器上&#xff0c;然后就可以通过执行 java …

手机视频压缩怎么压缩?一键瘦身~

现在手机已经成为我们日常生活中必不可少的工具&#xff0c;而在手机的应用领域中&#xff0c;文件的传输和存储是一个非常重要的问题。很多用户都会遇到这样一个问题&#xff0c;那就是在手机上存储的文件太多太大&#xff0c;导致手机存储空间不足&#xff0c;那么怎么在手机…

Typora 无法导出 pdf 问题的解决

目录 问题描述 解决困难 解决方法 问题描述 Windows 下&#xff0c;以前&#xff08;Windows 11&#xff09; Typora 可以顺利较快地由 .md 导出 .pdf 文件&#xff0c;此功能当然非常实用与重要。 然而&#xff0c;有一次电脑因故重装了系统&#xff08;刷机&#xff09;…

SpringMVC 环境搭建入门

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架&#xff0c;属于SpringFrameWork 的后续产品&#xff0c;已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一&#xff0c;并且随着Spring3.0 的发布&#xff0c;全面…

论述Python中列表、元组、字典和集合的概念

Python列表是用于存储任意数目、任意类型的数据集合&#xff0c;包含多个元素的有序连续的内存空间&#xff0c;是内置可变序列&#xff0c;或者说可以任意修改。在Python中&#xff0c;列表以方括号&#xff08;[ ]&#xff09;形式编写。 Python元组与Python列表类似&#x…

Flink 集成 Debezium Confluent Avro ( format=debezium-avro-confluent )

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…