centos7安装FTP服务器

目录

  实验背景

一、配置yum源 

1、本地yum

2、阿里云yum

二、安装vsftpd

1、安装vsftp服务

2、启动服务并设置开机自启动

3、开放防火墙和SELinux

三、创建用户和FTP目录

1、创建文件目录并配置权限

 2、创建ftp组以及用户

四、修改vsftpd.conf文件

1、备份 vsftpd.conf 配置文件

2、需要去除注释配置

 3、添加配置文件

4、最终文件配置信息 

5、创建 /etc/vsftpd/chroot_list 文件

 五、启动FTP服务


  实验背景

1.FTP服务器配置要求

企业内部现在有一台FTP服务器和Web服务器,FTP服务器主要用于维护企业的网站内容,包括上传文件、创建目录、更新网页等。企业现有两个部门负责维护任务,两者分别用team1和team2账号进行管理。要求仅允许team1和team2账号登录FTP服务器,但不能登录本地系统,并将这两个账号的根目录限制为/web/www/html,不能进入该目录以外的任何目录。

2. 需求分析

将FTP服务器和Web服务器放在一起是企业经常采用的方法,这样方便实现对网站的维护。为了增强安全性,首先需要仅允许本地用户访问,并禁止匿名用户登录。其次,使用chroot功能将team1和team2锁定在/web/www/html目录下。如果需要删除文件,则还需要注意本地权限。

本实验在centos7系统下完成实验

一、配置yum源 

1、本地yum

local.repo的配置文件内容:

[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enable=1

2、阿里云yum

在保证能联外网的情况下,输入以下命令

wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

二、安装vsftpd

1、安装vsftp服务

yum -y install vsftpd

2、启动服务并设置开机自启动

systemctl start vsftpd    #启动vsftpd
systemctl enable vsftpd.service    #设置开机自启动

3、开放防火墙和SELinux

减少麻烦的产生,关闭防火墙和selinux,等搭建成功可以开启防火墙和相应的端口

systemctl stop firewalld.service    #关闭防火墙
systemctl disable firewalld.service    #并设置开机自启

#修改 /etc/selinux/config 将SELINUX=enforcing改为disabled
vim /etc/selinux/config
setenforce 0    #使修改后的配置文件生效

三、创建用户和FTP目录

team1和team2为该FTP服务创建的用户,而/web/www/html作为两个用户的访问目录(限制)

1、创建文件目录并配置权限

mkdir -p /web/www/html    
chmod -R 775 /web/www/html

 2、创建ftp组以及用户

我们创建的team1和team2用户,为了系统安全考虑,当然不希望能让这两个账号的登录系统,要使得FTP组的用户不能的登录系统,则需要为FTP用户统一建立在不能登录系统的shell中,就拿 /sbin/nologin 来实现

-g:指定所属组

-d:指定家目录

-M:不创建家目录

-s:不登录系统

#创建组ftp
groupadd ftp 

#创建用户
useradd -g ftp -d /web/www/html -M -s /sbin/nologin team1
useradd -g ftp -d /web/www/html -M -s /sbin/nologin team2
#为用户创建密码
passwd team1
passwd team2

#修改/web/www/html目录为ftp组
chown root:ftp /web/www/html

四、修改vsftpd.conf文件

1、备份 vsftpd.conf 配置文件

先将/etc/vsftpd/vsftpd.conf配置文件备份(防止后面出错后没法还原),然后进行修改

vim vsftpd.conf    #进入配置文件

2、需要去除注释配置

进入该配置文件后,将100、101、103行的内容去掉注释

 将剩下注释的内容全部删除后剩下的内容

这里也就解释常用的

anonymous_enable=YES  #是否开启匿名用户,因为这里指定用户所以修改为NO

local_enable=YES  #是否允许本地用户登录,默认允许

write_enable=YES  #是否允许账号有写的权限

local_umask=022 :掩码

#本地用户创建文件目录都会默认777-022=755,最终文件目录的权限为755

#然而创建文件会默认666-022=644,最终创建的文件权限为644

dirmessage_enable=YES  #进入某个目录会提示

根据实验要求创建的两个用户只能在受限于/web/www/html文件目录下,跟以下两条命令的搭配效果有关:

chroot_local_user=YES

chroot_list_enable=NO  #激活chroot功能

#在文件 /etc/vsftpd/chroot_list 中列出的用户不能切换到其他目录

chroot_list_file=/etc/vsftpd/chroot_list  #设置锁定用户在根目录列表的文件

 3、添加配置文件

除了以上的还需添加以下的配置

local_root=/web/www/html  #设置本地用户的根目录
allow_writeable_chroot=YES  #允许 chroot限制,否则出现连接错误。

4、最终文件配置信息 

 其实修改的内容也就如下

5、创建 /etc/vsftpd/chroot_list 文件

vim /etc/vsftpd/chroot_list

添加 team1 和 team2 注意换行

 五、启动FTP服务

 重启 vsftpd

systemctl restart vsftpd

在客户端上需要先安装 ftp 服务

yum -y install ftp

 

上图可以看到,已经把 team1、team2用户限制在了/web/www/html目录下

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

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

相关文章

天然之选:炯炯侠石斛棒助力儿童视力健康

如今,育儿已成为许多年轻父母心头的一大忧虑。随着小生命的到来,他们不得不调整自己的生活节奏。然而,孩子的成长之路并非一帆风顺。特别是随着科技的进步,电子产品已深入生活的方方面面,如何平衡孩子的学习与娱乐&…

强大的多数据库客户端工具:DataGrip【送源码】

今天给大家带来的工具是:DataGrip 介绍 DataGrip是jetbrains开发的一款关系数据库和 NoSQL 数据库的多数据库客户端工具,可以30天免费试用,后续使用需要购买。 DataGrip还是一款强大的跨平台工具,支持多种操作系统,比…

Mamaba3--RNN、状态方程、勒让德多项式

Mamaba3–RNN、状态方程、勒让德多项式 一、简单回顾 在Mamba1和Mamba2中分别介绍了RNN和状态方程。 下面从两个图和两个公式出发,对RNN和状态方程做简单的回顾: R N N : s t W s t − 1 U x t ; O t V s t RNN: s_t Ws_{t-1}Ux_t&…

hadoop Yarn资源调度器

概述 Yarn是一个资源调度平台,负责为运算程序提供服务器资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于操作系统之上的应用程序 Yarn基本架构 YARN 主要由ResourceManager、NodeManager、ApplicationMaster、Container …

2005-2022年款福特福克斯维修手册和电路图线路图接线图资料更新

经过整理,2005-2022年款福特福克斯全系列已经更新至汽修帮手资料库内,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对…

基于JSP的高校毕业生就业满意度调查统计系统

开头语: 你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:JSP 数据库:MySQL 技术:JSP技术 工具:MyEclipse、Tomcat、MySQL 系统展示 首页 用…

超实用的新闻稿件撰写模板分享,拿来直接套用

新闻稿件撰写是一门艺术,需要具备敏锐的新闻嗅觉、扎实的写作功底和严谨的逻辑思维。从标题、导语、新闻事实到背景补充,再到后续事实,每一个环节都至关重要。今天伯乐网络传媒就来给大家分享超实用的新闻稿件撰写模板,拿来直接套…

【Java】已解决Java中的java.util.NoSuchElementException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决Java中的java.util.NoSuchElementException异常 一、分析问题背景 java.util.NoSuchElementException是Java中常见的运行时异常,它通常发生在使用迭代器&#xf…

重生之 SpringBoot3 入门保姆级学习(24、场景整合 kafka 消息发送服务)

重生之 SpringBoot3 入门保姆级学习(24、场景整合 kafka 消息发送服务) 6.4 消息发送服务 6.4 消息发送服务 访问 kafka-ui (注意这里需要换成你自己的服务器或者虚拟机的 IP 地址,虚拟机可以用局域网 192.168.xxx.xxx 的地址&…

零基础入门学用Arduino 第五部分

重要的内容写在前面: 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程,学起来会更加轻松,相关课程有数字电路…

有效粉丝不够怎么办,巨量千川助你快速涨粉,解锁更多权限

在当今的社交媒体时代,拥有大量的粉丝对于个人或品牌的发展至关重要。除此之外开通权限也受粉丝数量的限制(开通橱窗带货被要求500有效粉丝,开蓝V也需要500粉丝,直播权限需要1000粉丝)。那么怎样才能快速涨粉又对账号没…

PS系统教程23

减淡加深海绵工具 减淡工具 作用:提炼物体颜色 加深工具 作用:变暗物体颜色,加深物体深度 海绵工具 作用:修正物体饱和度,加大纯度 减淡工具 老套路,找一个图片 复制新建粘贴Ctrl键J复制图层选择减…

C语言学习之路(黑马)

文章目录 环境搭建HelloWorld代码编写代码分析执行流程 核心语法注释单行注释多行注释注释示例 关键字常量变量计算机进制数据类型标识符键盘录入 运算符算术运算符比较运算符赋值运算符自增减运算符逻辑运算符三元运算符逗号运算符运算符的优先级 流程控制语句顺序结构分支结构…

【Portswigger 学院】CORS

教程和靶场来源于 Burpsuite 的官网 Portswigger:Cross-origin resource sharing (CORS) - PortSwigger 跨域资源共享(Cross-origin resource sharing,CORS)是一种浏览器机制,允许浏览器访问不同源的资源。同源策略的作…

32.双击列表启动目标游戏

上一个内容&#xff1a;31.加载配置文件中的游戏到辅助列表 以 31.加载配置文件中的游戏到辅助列表 它的代码为基础进行修改 效果图&#xff1a; 添加列表双击事件 实现代码&#xff1a; LPNMITEMACTIVATE pNMItemActivate reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR…

送检了200多款主食冻干,花费百万后,我测评了VE、希喂、朗诺!

主食冻干真是养猫的好帮手&#xff0c;方便、易喂&#xff0c;还能为猫咪提供全面营养&#xff01;它模拟了猫咪的自然捕猎饮食&#xff0c;采用低温脱水和灭菌技术制成。这样的主食冻干不仅让铲屎官们的喂养变得轻松&#xff0c;还满足了猫咪的味蕾和营养需求。更重要的是&…

Orangepi Zero2

1、Orangepi Zero2 Orangepi Zero2 是基于全志H616的一款产品 特性&#xff1a; CPU全志H616四核64位1.5GHz高性能Cortex-A53处理器 GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0 运行内存1GB DDR3(与GPU共享) 存储TF卡插槽&#xff0c;测试128G可支持、2MB SPI Fl…

【android】json

设置第potition个数据项的view的属性 成功显示数据项&#xff0c;熟悉recycleview三个方法 新建页面&#xff0c;定义适配器&#xff0c;指定使用MyViewHolder类对象保存每个数据胡view组件 padding-内部边距 bold-加粗 新建类&#xff0c;描述新闻内容 定义组件 public i…

MYSQL无法启动的修复过程

记录一次MySQ无法启动的修复过程。 1. 错误表现 今天在用python操作数据库时可能有些错误&#xff08;具体来说就是我尝试创建了一个已经存在的database&#xff09;&#xff0c;结果我发现MySQL中的那个database不存在了&#xff0c;我重启了一下电脑&#xff0c;结果mysql…

Webpack源码深入-webpack和webpack-cli

webpack源码深入-webpack和webpack-cli webpack命令工作原理如下 webpack指令 // webpack/package.json {..."mian":"lib/index.js","bin": {"webpack": "bin/webpack.js"},... }webpack指令的入口是webpack.js。 首先…