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

即可实现以上要求。

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

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

相关文章

年报前瞻:文化产业高质量发展确定性,关注腾讯音乐三大关键能力

港股进入年报季,今年的披露期拥有比往年更多的看点。 一方面,经济复苏态势明显,线上线下消费均有回暖,市场已经对去年的整体表现有更多预期,正关注企业对后续发展的思考;另一方面,两会结束&…

2023美赛C题【分析思路+代码】

以下内容为我个人的想法与实现,不代表任何其他人。 文章目录问题一数据预处理时间序列模型创建预测区间单词的任何属性是否影响报告的百分比?如果是,如何影响?如果不是,为什么不是?问题二问题三难度评估模型…

【Vue3】利用vite创建vue3项目

🏆今日学习目标:利用vite创建vue3项目 😃创作者:颜颜yan_ ✨个人格言:生如芥子,心藏须弥 ⏰本期期数:第二期 🎉专栏系列:Vue3 文章目录前言vite简介利用vite创建vue3项目…

二叉搜索树

1.基础概念介绍 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 2.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 3.它…

设置Typora图床(Github)

PicGo,Github,Typora Nodejs下载: Node.js PicGo下载: GitHub - Molunerfinn/PicGo: A simple & beautiful tool for pictures uploading built by vue-cli-electron-builder 选择downloads或release. 然后进行安装。 Gith…

经典PID控制算法原理以及优化思路

文章目录0、概念1、理解2、实现3、优化4、引用0、概念 PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID控制,即Proportional – Integral(I) – Derivative(D) Control, 实际上是三种反馈…

Transformer到底为何这么牛

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

STM32外设-DMA

1. 简介 DMA(Direct Memory Access)—直接存储器存取,是单片机的一个外设,它的主要功能是用来搬数据,但是不需要占用 CPU,即在传输数据的时候, CPU 可以干其他的事情,好像是多线程一样。数据传输支持从外设…

初时STM32单片机

目录 一、单片机基本认知 二、STM系列单片机命名规则 三、标准库与HAL库区别 四、通用输入输出端口GPIO 五、推挽输出与开漏输出 六、复位和时钟控制(RCC) 七、时钟控制 八、中断和事件 九、定时器介绍 一、单片机基本认知 单片机和PC电脑相比…

【python进阶】你真的懂元组吗?不仅是“不可变的列表”

📚引言 🙋‍♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨‍🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅&#xff0c…

图形视图框架 事件处理(item)

在图形界面框架中的事件都是先由视图进行接收,然后传递给场景,再由场景传递给图形项。通过键盘处理的话,需要设置焦点,在QGraphicsScene中使用setFoucesItem()函数可以设置焦点,或者图形项使用s…

【二】一起算法---队列:STL queue、手写循环队列、双端队列和单调队列、优先队列

纸上得来终觉浅,绝知此事要躬行。大家好!我是霜淮子,欢迎订阅我的专栏《算法系列》。 学习经典算法和经典代码,建立算法思维;大量编码让代码成为我们大脑的一部分。 ⭐️已更系列 1、基础数据结构 1.1、链表➡传送门 1…

【文心一言】什么是文心一言,如何获得内测和使用方法。

文心一言什么是文心一言怎么获得内测资格接下来就给大家展示一下文学创作商业文案创作数理逻辑推算中文理解多模态生成用python写一个九九乘法表写古诗前言: 🏠个人主页:以山河作礼。 📝​📝:本文章是帮助大家了解文心…

24. linux系统基础

两个进程间想通讯,必须要通过内核,今天讲的信号其实本质也是讲进程间通讯的意思,那么你为什么可以在shell环境下,可以和一个进程发kill-9啊? shell是不是相当于一个进程?你自己运行的那个进程是不是也相当于…

HTTPS 加密协议

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录HTTPS"加密" 是什么HTTPS 的工作过程引入证书HTTPS http 安全层 (SSL) SSL 用来加密的协议,也叫 TLS …

GPT-4 API 接口调用及价格分析

GPT-4 API 接口调用及价格分析 15日凌晨,OpenAI发布了万众期待的GPT-4!新模型支持多模态,具备强大的识图能力,并且推理能力和回答准确性显著提高。在各种专业和学术基准测试上的表现都媲美甚至超过人类。难怪OpenAI CEO Sam Altm…

HiveSql一天一个小技巧:利用array_contains()函数进行容器存在性计数问题分析

0 需求描述文章被引用关系数据表如下:idoid10203141526073其中id表示文章id,oid引用的文章,当oid为0时表示当前文章为原创文章,求原创文章被引用的次数。注意本题不能用关联的形式求解1 需求分析1.1 数据源准备with data as( select 1 as id,…

Springboot源代码总结

前言 编写微服务,巩固知识 文章目录 前言springboot原理springboot启动流程SpringBoot自动配置底层源码解析自动配置到底配了什么?自动配置类条件注解Starter机制@ConditionalOnMissingBeanSpringBoot启动过程源码解析构造SpringApplication对象SpringBoot完整的配置优先级s…

深入理解WebSocket协议

“ 一直以来对WebSocket仅停留在使用阶段,也没有深入理解其背后的原理。当看到 x x x was not upgraded to websocket,我是彻底蒙了,等我镇定下来,打开百度输入这行报错信息,随即看到的就是大家说的跨域,或…

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…