centos下配置SFTP且限制用户访问目录

news2024/11/19 12:42:01

一、SFTP使用场景

ftp是大多数网站的文件传输选择工具,但ftp并不是非常安全,并且在centos上搭建的vsftpd也非常的不稳定,偶尔会出现权限问题,例如500、或是账号密码不正确等等。

而SFTP是基于默认的22端口,是ssh内含的协议,只要启动了sshd就可以使用。
建议:更高的效率使用FTP协议,更安全的通信使用SFTP协议。

FTP是一种文件传输协议,一般是为了方便数据共享的。包括一个FTP服务器和多个FTP客户端。FTP客户端通过FTP协议在服务器上下载资源。而SFTP协议是在FTP的基础上对数据进行加密,使得传输的数据相对来说更安全。但是这种安全是以牺牲效率为代价的,也就是说SFTP的传输效率比FTP要低(不过现实使用当中,没有发现多大差别)。个人肤浅的认为就是:

1、FTP要安装,SFTP不要安装。
2、SFTP更安全,但更安全带来副作用就是的效率比FTP要低些。

二、centos7搭建SFTP

1、创建sftp组

查看组信息

groupadd sftp
#此目录及上级目录的所有者(owner)必须为root,权限不高于755,此目录的组最好设定为sftp
cat /etc/group

2、创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码

useradd -g sftp -s /bin/false mysftp 
passwd mysftp

3、新建目录,指定为mysftp用户的主目录

mkdir -p /sftp/mysftp
usermod -d /sftp/mysftp mysftp

4、编辑配置文件/etc/ssh/sshd_config

将如下这行用#符号注释掉
# Subsystem      sftp    /usr/libexec/openssh/sftp-server

并在文件最后面添加如下几行内容然后保存(最好放在文件末尾)
Subsystem       sftp    internal-sftp   
Match Group sftp  
ChrootDirectory /sftp/%u    
ForceCommand    internal-sftp    
AllowTcpForwarding no   
X11Forwarding no  

功能可简述为:凡是在用户组sftp里的用户,都可以使用sftp服务
使用sftp服务连接上之后,可访问目录为/sftp/mysftp/username

举个例子:
用户test是一个sftp组的用户,那么他通过sftp连接服务器上之后,只能看到/sftp/mysftp/test目录下的内容
用户test2也是一个sftp组的用户,那么他通过sftp连接服务器之后,只能看到/sftp/mysftp/test2目录下的内容

5、设置Chroot目录权限

chown root:sftp /sftp/mysftp  #文件夹所有者必须为root,用户组可以不是root
chmod 755 /sftp/mysftp   #权限不能超过755,否则会导致登录报错,可以是755

6、新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限

mkdir /sftp/mysftp/upload  
chown mysftp:sftp /sftp/mysftp/upload  
chmod 755 /sftp/mysftp/upload  

7、配置完成重启sshd服务,然后测试

systemctl restart sshd

8、在本机进行验证,sftp 用户名@ip地址

## 默认端口号22
sftp -P 22 mysftp@127.0.0.1 

三、FileZilla客户端连接

1、点击文件——>站点管理器

在这里插入图片描述

2、新建站点

填写服务端相关的信息,协议选择SFTP -SSH File Transfer Protocol
在这里插入图片描述
配置完成连接即可!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

23款奔驰GLS450升级原厂电动吸合门,体验绅士的关门状态

电吸门的工作原理是在门框(或门板边缘)上安装一个电磁线圈。当门打开时,电流会流过线圈,形成电磁场。这样,由于磁力的作用,当门靠近门框关闭时,门会自动关闭。 另外,电吸门也有有用的一面。如果下车&#…

生成地图展示【Python思路】

# 1.导包 import json from pyecharts.charts import Map #导入关于编写地图的包 from pyechart.options import * #全局设置# 2.得到地图对象 map Map()# 3.打开事先准备好的JSON数据文件 f open("D:/Typora 记事本/notebook/Python/Exercise_data/疫情.txt",&…

江西武功山旅游攻略(周末两日游)

一、 往返路线 1: 出发路线 周五晚上上海出发坐火车🚄到江西萍乡(11.5小时,卧铺550左右) 打车到江西武功山景区,120-150元左右,人均30元,1小时10分左右到达 或者 🚗到达萍乡北之后 出站后步行200米到长途汽车站,乘旅游巴士直达武功山游…

Centos 7.6 安装mongodb

以下是在CentOS 7.6上安装MongoDB的步骤: 打开终端并以root用户身份登录系统。 创建一个新的MongoDB存储库文件 /etc/yum.repos.d/mongodb-org-4.4.repo 并编辑它。 sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo在编辑器中,添加下面的内容到文件中并…

GB28181开发------录像查询(设备视音频文件检索)

文件检索主要用区域、设备、录像时间段、录像地点、录像内容为条件进行查询,用 Message消息发 送检索请求和返回查询结果,传送结果的 Message消息可以发送多条,应支持附录 N 多响应消息传输 的要求。文件检索请求和应答命令采用 MANSCDP协议格式定义,详细描述见 A.2.4文件目录检…

Airbnb在中国不得势的主要原因是什么?Airbnb还有可能回来吗?

其实在年轻人的群体中,Airbnb还是相当出名的。想当初一开始出现的时候,很多人都为之疯狂,也在Airbnb上直接创下了众多房源输出,并且订单数量激增的地步。但是到了2021年,Airbnb却是以悄无声息的方式推出了中国市场,几乎没有什么通告,最终很多的用户都是在想要下载更新的时候才发…

springcloud3 GateWay章节-Nacos+gateway(跨域,filter过滤等)

一 常用工具类 1.1 结构 1.2 跨域 Configuration public class CorsConfig {Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowe…

Django(6)-django项目自动化测试

Django 应用的测试应该写在应用的 tests.py 文件里。测试系统会自动的在所有以 tests 开头的文件里寻找并执行测试代码。 我们的 polls 应用现在有一个小 bug 需要被修复:我们的要求是如果 Question 是在一天之内发布的, Question.was_published_recentl…

手把手叫你用VS2019写个WebApi(可以供网页、手机、电脑三端连接使用)从网页访问后端并在后端通过EF获取sqlserver中的数据

先新建项目,选择ASP.NET Web应用程序(.NET Framework) 创建完成后直接运行会在代码的Scripts.Render("~/bundles/modernizr")处报错,如下图 解决方法: 然后可以正常运行,运行后界面如下: 然后你在网址栏中输…

C语言基础之——数组

前言:本篇文章,我们将对一维数组,和二维数组进行展开式的讲解,并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 (1)数组的创建 (2)数组的初始化 2.一维数组的使用…

全行业线上商城系统一体化平台,个性化设计-免费更新-亿发

移动互联网成为了现代人生活中不可或缺的一部分。人们已经习惯了通过手机应用完成日常任务,从购物到社交,都能在手指间直接搞定。 随着小程序的兴起,2023年的线上商城系统在不断发展的数字化环境中,如今,线上商城正以…

行业报告 | 2023人工智能发展白皮书

原创 | 文 BFT机器人 在科技日新月异的今天,人工智能已成为最具革命性的技术之一,有望对人类社会生活产生显著的影响。过去几年,人工智能相关理论研究技术创新、软硬件升级等整体推进,极大地促进了人工智能行业的发展。 进入2022…

【BurpSuite常用功能介绍】

BurpSuite的使用 1.运行BurpSuite 2.代理设置 打开软件后,我们第一件事就应该去调试软件和浏览器的代理,让BURP能够正常工作抓包 proxy--options,我端口默认使用8080 然后我们打开一个浏览器,进入代理设置 (注意一点&#xff0…

JAVA switch case 穿透问题

1,前提 其实开发中很少会用到switch ,一般更倾向于if-else, 但是最近接手的项目,前人写的代码都用switch , 但是我一直以来对switch 的理解就跟if一样, 然后项目运用的时候才发现这玩意居然还有穿透问题 …

python 模块openpyxl 读取写入.xlsx文件

Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况: xlrd:xlrd 读取.xls文件xlwings:xlwings 读取写入Excel文件xlwt:xlwt 写入.xls文件 一、…

Springboot集成RocketMQ——简单使用

目录 1.MQ选型 2.RocketMQ基本架构 3.Springboot集成RocketMQ 4.顺序消息 5.延时消息 6.事务消息 1.MQ选型 目前市面上的MQ选型:主要分为3个类型 Kafka:吞吐量大,且性能好,集群高可用;会丢失数据,功…

Linux安装FileBrowser(简洁版)

项目简介安装目录 mkdir -p /opt/filebrowser/data && cd /opt/filebrowser 安装包下载 wget https://github.com/filebrowser/filebrowser/releases/download/v2.24.2/linux-amd64-filebrowser.tar.gz 注意:https://github.com/filebrowser/filebrowser/re…

Django(5)-视图函数和模板渲染

Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」 在我们的投票应用中,我们需要下列几个视图: 问题索引页——展示最近的几个投票问题。 问题详情页——展示某个投票的问题和不带结果的选项列表。 问题结果页——展示某个投票的结果。 投…

vr内容编辑软件降低了虚拟现实项目开发门槛

VR虚拟场景编辑器是一种专门用于创建、修改和设计虚拟场景的工具。它利用vr虚拟现实技术,让用户可以在三维空间中直接对场景进行操作和编辑。这种编辑器的出现,使得用户可以更加直观、自由地进行场景设计和制作,为诸多领域带来了新的可能性。…

Qt串口通信学习文档

这是官方文档,我也在学习。 QSerialPort Class | Qt Serial Port 5.15.14https://doc.qt.io/qt-5/qserialport.html