当前位置: 首页 > news >正文

CentOS8服务篇10:FTP服务器配置与管理

一、安装与启动FTP服务器

1、安装VSFTP服务器所需要的安装包

#yum   -y  install   vsftpd

2、查看配置文件参数

Vim  /etc/vsftpd/vsftpd.conf

(1)是否允许匿名登录

anonymous_enable=YES

该行用于控制是否允许匿名用户登录。

(2)是否允许匿名用户创建目录

anon_mkdir_write_enable=YES

该行控制是否允许匿名用户创建目录。

(3)设置传输速度

anon_max_rate=0

该行设置匿名用户的最大数据传输速度,单位是Byte/s

(4) 是否允许本地用户登录

local_enable=YES

该行用户控制是否允许本地用户登录。

(5) 设置是否有写权限

write_enable=YES

该行用于设置使用者是否有写权限,就是上传文件的权限。

(6) 设置是否开启目录提示

dirmessage_enable=YES

该行用于设置是否开启目录提示功能。

(7)设置日志文件

xferlog_enable=YES

该行用于设置是否设置一个用于记录下载和上传的日志文件。

(8) 使用20端口数据传输

connect_from_port_20=YES

该行设置以port模式进行数据传输时使用20端口。

(9) 设置日志的格式

xferlog_std_format=YES

该行用于设置日志的格式是否采用标准格式

3、关闭防火墙和SELinux,启动或重启服务器

安装完后,可以不改变“vsftpd.conf”配置文件的内容,直接输入如下命令:

#systemctl   stop   firewalld

#setenforce    0

#systemctl    start    vsftpd

#systemctl     enable   vsftpd

启动FTP服务器。

每次对服务器配置文件修改保存后,要重启服务器,要输入以下命令:

service vsftpd restart  重启FTP服务器。

4、安装telnet和ftp命令

在安装光盘的“packages”目录中找到“telnet-0.17-64.el7.x86_64.rpm”和“ftp-0.17-67.el7.x86_64.rpm”文件,然后在终端窗口,输入如下命令:

rpm –ivh telnet-0.17-64el7.x86_64.i386.rpm                         

rpm –ivh ftp-0.17-67el7.x86_64.i386.rpm

5、测试FTP服务器

在终端窗口,输入命令:

telnet 192.168.1.9  21                                                 

如果FTP服务器启动正常,会出现如下内容:

Trying IP地址...

Connected to localhost.

Escape character is '^]'.

220 (vsFTPd 3.0.2)

看到了220 (vsFTPd 3.0.2)表示VSFTP服务器就架设成功,客户可以访问服务器了。

6、简单登录FTP服务器

在终端窗口,输入命令:

ftp 192.168.1.9                                                   

准备登录FTP服务器。会出现如下信息:

Connected to 192.168.1.9 (192.168.1.9).

220 (vsFTPd 3.0.2)

Name (192.168.1.9:root):

输入一个已经存在的Linux用户名,出现如下的输入密码提示:

331 Please specify the password.

Password:

用户的登录Linux的密码,会出现登录成功的提示。内容如下:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>

成功登录FTP服务器。

7、关闭FTP服务器

如果想关闭FTP服务器,输入如下命令:

#systemctl   stop   vsftpd

VSFTP服务器。

二、FTP服务器基本应用

1、修改VSFTP服务器配置文件

进入在终端中,输入命令下面命令字段打开配置文件:

Vim   /etc/vsftpd/vsftpd.conf                                           

打开配置文件后,根据任务要求,找到如下命令进行更改:

anonymous_enable=YES

用于控制是否允许匿名用户登录。

将下面两行命令字段前面的“#”删除,使它们从注释状态变为有效状态。

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

这两行命令字段的功能分别是允许匿名用户上传和允许匿名用户新建目,重命名删除目录。

保存退出。

2、修改访问目录的用户权限

修改pub文件夹的权限使之任何用户都可以读写。命令如下:

chmod u=rwx,g=rwx,o=rwx /var/ftp/pub

目的将pub目录使得任何用户都可以读写。之后,输入以下命令:

systemctl  restart  vsftpd                                             

重新启动FTP服务器。

3、配置Windows客户机

设置Windows客户机与CentOS7 FTP服务器为同一网段,使用“ping”命令测通服务器。

4、测试登录服务器

上面的设置成功后,开始测试登录服务器。打开本地主机的浏览器,在地址栏中,输入ftp://192.168.1.9,FTP服务器的IP地址)单击回车,登录FTP服务器,如图所示。

5、测试建立与拷贝文件

 双击“pub”目录,打开该目录,从本计算机中可以拷贝一些文件到“pub”目录中,也可以在该目录下建立一些文件。在图中目录“aaa”,文件“abab”、“sdsd”为CentOS7系统下建立的文件,“项目1……”为拷贝到该目录的文件

三、FTP服务器的本地用户控制 

1、修改VSFTP服务器配置文件

在终端中输入以下命令打开配置文件:

vim  /etc/vsftpd/vsftpd.conf                                            

在配置文件找到anonymous_enable=YES一行,将其中的“YES”改为“NO”,即为anonymous_enable=NO意思是不允许以匿名方式登录FTP服务器。

保存退出。

输入如下命令:

Systemctl   restart   vsftpd                                            

重新启动服务器。

2、建立用户

进入终端,在“#”提示符下输入:

useradd first                                                     

改行是建立一个用户名为“first”的用户。

passwd first                                                       

之后会出现输入密码的提示,两次输入一样的密码,“first”用户的密码建立成功。

3、查看用户目录并建立测试文件

建立了用户后,在“home”文件夹下就会建立一个与用户名同名的文件夹,就是在“home”文件夹下就有一个“first”的文件夹。在该文件夹下使用“touch file1”和“touch file2”命令来建立两个文件file1file2用于测试。

touch file1                                                        

touch file2

4、测试登录服务器

切换到客户端Windows主机上,在资源管理器的地址栏中重新输入ftp://192.168.1.9,回车后,这时不再直接出现目录内容,而是出现了登录窗口,如图所示。

 单击“登录”按钮,就出现first目录中的文件了,在Widows下用户可以建立文件或文件夹,如图所示

 5、查看建立的目录

回到服务器在“first”目录下输入“ll”命令查看文件,会看到在客户端建立的文件夹,如图所

 四、FTP服务器登录限制

1、允许使用者匿名登录

这里要求禁止匿名用户登录,只有符合安全条件的用户才可以登录。

这一项在前面已经有过叙述,这里只是提及。具体请参看前面步骤三部分即可。

2、只开放匿名登录

在终端中输入如下命令打开配置文件:

vim /etc/vsftpd/vsftpd.conf                                            

在配置文件找到“anonymous_enable=??”一行,如果“??”为“YES”则不需要更改,如果为“NO”请改回“YES”,即为anonymous_enable=YES意思是允许以匿名方式登录FTP服务器。

再寻找“local_enable=??”一行,如果“??”为“NO”则不需要更改,如果为“YES”请改为“NO”,即为local_enable= NO意思是禁止本地用户登录FTP服务器。

最后保存配置文件,退出编辑。重启FTP服务即可只开放匿名登录

3、不允许特定账户登录

(1)修改“/etc/vsftpd/vsftpd.conf”文件

在终端中输入如下命令打开配置文件:

Vim  /etc/vsftpd/vsftpd.conf                                            

在配置文件找到“userlist_enable=??”一行,如果“??”为“YES”则不需要更改,如果为“NO”请改回“YES”,即为userlist_enable==YES意思是使用者登录时,VSFTP服务器会去读取“/etc/vsftpd/user_list”设置文件。

在该行之后,手工添加一行userlist_deny=YES,表示“/etc/vsftpd/user_list”设置文件中的使用者会被拒绝登录。

最后保存配置文件,退出编辑。

(2) 修改“/etc/vsftpd/user_list”设置文件

在终端中输入如下命令打开“/etc/vsftpd/user_list”配置文件:

vim /etc/vsftpd/user_list                                            

在配置文件最后,添加想要拒绝的登录的账户,比如“user”即可。

4、设置不允许登录的主机和网络

(1)测试与启动tcp-wrappers

CentOS7系统默认已经安装了tcp_wrappers,如果不能够确定是否安装,可以输入如下命令来测试:

rpm -qa|grep tcp_wrappers                                           

如果出现了“tcp_wrappers-7.6-77.el7.x86_64”和“tcp_wrappers-libs-7.6-77.el7.x86_64”之类的信息,表明已经安装了tcp_wrappers

然后修改“/etc/vsftpd/vsftpd.conf”文件,找到tcp_wrappers=YES一行,默认是启动状态,如果存在表示tcp_wrappers已启动直接退出即可。如果该行不存在或内容不一样,请添加或修改之。

(2)修改“/etc/hosts.deny”文件

接着使用编辑软件修改“/etc/hosts.deny”文件,在该文件最后添加一行“vsftpd: IP 地址 网段 或域名”之类的内容。

比如不希望IP地址为“192.168.2.132”的主机、“192.168.3.0”网段的所有主机以及域名为“test.com”的主机不能访问该FTP服务器,可以在“/etc/hosts.deny”文件中添加如下一行:

vsftpd:192.168.2.132  192.168.3.0/255.255.255.0  test.com

即可实现以上要求。

相关文章:

CentOS8服务篇10:FTP服务器配置与管理

一、安装与启动FTP服务器 1、安装VSFTP服务器所需要的安装包 #yum -y install vsftpd 2、查看配置文件参数 Vim /etc/vsftpd/vsftpd.conf (1)是否允许匿名登录 anonymous_enableYES 该行用于控制是否允许匿名用户登录。 (2&…...

笔试强训3.14

一、选择题 1.以下说法错误的是(C) A.数组是一个对象 B.数组不是一种原生类 C.数组的大小可以任意改变 D.在Java中,数组存储在堆中连续内存空间里 ​ 相关知识点:原生/内置数组是那八个,其他的都是引用的,借…...

elasticsearch 环境搭建和基本操作

参考资料 适合后端编程人员的elasticsearch快速实战教程 ElasticSearch最新实战教程 ElasticSearch配套笔记 自制搜索引擎 https://www.elastic.co/guide/en/elasticsearch/reference/7.17/setup.html restful风格的api REST 设计风格 例如以下springboot示例 RestContr…...

IDEA操作:Springboot项目打包为jar包并运行

在IDEA环境下对Springboot项目打包为jar包且在terminal运行操作 1、 2、 3、注意:在项目目录里创建一个用来存放jar包的文件夹(res),该路径不能使用IDEA设置的默认路径,必须手动创建。 4、 5、点击ok后加载运行包 (8…...

原理底层计划---JVM

二、JVM对空间大小怎么配置?各区域怎么划? 新生代:短时间生成,可以马上回收 老生代:少部分对象会存在很久,回收策略应不同 三、JVM哪些内存区域会发生内存溢出(程序计数器不会) …...

CSDN-猜年龄、纸牌三角形、排他平方数

猜年龄 原题链接:https://edu.csdn.net/skill/practice/algorithm-a413078fb6e74644b8c9f6e28896e377/2258 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议&#xf…...

【Linux】软件包管理器 yum

什么是软件包和软件包管理器 在 Linux 下需要安装软件时, 最原始的办法就是下载到程序的源代码, 进行编译得到可执行程序。但是这样太麻烦了,所以有些人就把一些常用的软件提前编译好, 做成软件包 ( 就相当于windows上的软件安装程序)放在服…...

一天吃透TCP面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...

zzu天梯赛选拔

C. NANA去上课 — 简单数学 需要记录上一步处在哪个位置 然后判断如果是同一侧移动距离就是abs&#xff08;x1 - x2&#xff09; 如果不同就是x1 x2 #include <iostream> #include <cmath> using namespace std; #define int long long signed main() {int n; c…...

【C语言】一篇让你彻底吃透(结构体与结构体位段)

本章重点 主要讲解结构体和位移动的使用和定义与声明&#xff0c;并且结构体和位段在内存中是如何存储的。 文章目录结构体结构体类型的声明结构体特殊的声明结构体变量的定义和初始化结构体成员的访问结构的自引用结构体内存对齐结构体传参位段什么是位段位段的内存分配位段的…...

数据结构之二叉树构建、广度/深度优先(前序、中序、后序)遍历

一、二叉树 1.1 树 说到树&#xff0c;我们暂时忘记学习&#xff0c;来看一下大自然的树&#xff1a; 哈哈 以上照片是自己拍的&#xff0c;大家凑合看看 回归正题&#xff0c;那么在数据结构中&#xff0c;树是什么呢&#xff0c;通过上面的图片大家也可以理解 树是一种非…...

“国产版ChatGPT”文心一言发布会现场Demo硬核复现

文章目录前言实验结果一、文学创作问题1 :《三体》的作者是哪里人&#xff1f;问题2&#xff1a;可以总结下三体的核心内容吗&#xff1f;如果要续写的话&#xff0c;可以从哪些角度出发&#xff1f;问题3&#xff1a;如何从哲学角度来进行续写&#xff1f;问题4&#xff1a;电…...

202304读书笔记|《不被定义的女孩》——做最真实最漂亮的自己,依心而行

202304读书笔记|《不被定义的女孩》——做最真实最漂亮的自己&#xff0c;依心而行《不被定义的女孩》作者ASEN&#xff0c;很棒的书。处处透露着洒脱&#xff0c;通透&#xff0c;悦己&#xff0c;阅世界的自由的氛围和态度&#xff01; 部分节选如下&#xff1a; 让自己活得…...

SpringBoot帮你优雅的关闭WEB应用程序

Graceful shutdown 应用 Graceful shutdown说明 Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and servlet-based web applications. It occurs as part of closing the applica…...

递归与递推

递归 直白理解&#xff1a;函数在其内部调用自身&#xff08;自己调用自己&#xff09;所有递归都可以采用递归搜索树来理解递归的特点&#xff1a; 一般来说代码较为简短&#xff0c;但是理解难度大一般时间和空间消耗较大&#xff0c;容易产生重复计算&#xff0c;可能爆栈 …...

使用<style scoped>导致的样式问题

问题描述&#xff1a; 今天使用开源组件库TDesign的自动补全组件时&#xff0c;遇到了一个样式失效问题&#xff0c;一开始怎么也找不到问题出在哪&#xff0c;后面一个偶然去掉了scoped&#xff0c;竟然发现样式竟然正常了&#xff0c;具体原因不知道在哪&#xff0c;有大佬知…...

Elasticsearch深入理解(十八)-集群关键指标及调优指南

1、CPU使用率 CPU使用率是指在一段时间内CPU执行程序的百分比&#xff0c;它是衡量系统资源利用率的一种指标。 1.1 详细说明&#xff1a; 在Elasticsearch中&#xff0c;高的CPU使用率通常意味着节点正在执行大量的计算任务&#xff0c;这可能是因为索引和搜索操作的负载较大…...

Transformer到底为何这么牛

从注意力机制&#xff08;attention&#xff09;开始&#xff0c;近两年提及最多的就是Transformer了&#xff0c;那么Transformer到底是什么机制&#xff0c;凭啥这么牛&#xff1f;各个领域都能用&#xff1f;一文带你揭开Transformer的神秘面纱。 目录 1.深度学习&#xff0…...

【Spring事务】声明式事务 使用详解

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 声明式事务一、编程式事务二、声明式事务&…...

学习28个案例总结

学习前 对于之前遇到的问题没有及时总结&#xff0c;导致做什么事情都是新的一样。没有把之前学习到接触到的内容应用上。通过这次对28个案例的学习。把之前遇到的问题总结成自己的经验&#xff0c;在以后的开发过程中避免踩重复性的坑。多看帮助少走弯路。 学习中 对28个案例…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...