CentOS7.6-搭建SFTP服务

article/2025/9/1 13:45:26
1.需求
  • 搭建多账号SFTP,不同的用户只能够查看自己所属的目录
  • 禁止SFTP账号通过SSH连接
  • SFTP 用户demo1、demo2,所属目录:/data/sftp/demo1、/data/sftp/demo2
2.操作步骤
  • 创建目录

    mkdir /data/sftp/{demo1,demo2} -p
    

    在这里插入图片描述

  • 创建用户组sftp

     groupadd sftp
    
  • 创建用户demo1、demo2

    useradd -G sftp -d /data/sftp/demo1 -m  -s /sbin/nologin demo1
    useradd -G sftp -d /data/sftp/demo2 -m  -s /sbin/nologin demo2
    
    -G sftp :加入sftp用户组
    -s /sbin/nologin:禁止用户ssh登录
    -d /data/sftp/demo1:指定用户的根目录

    在这里插入图片描述

  • 修改密码

    passwd demo1
    passwd demo2
    
  • 修改配置文件sshd_config

    cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.ori.20190531
    vim /etc/ssh/sshd_config
    #下面这行注释掉#Subsystem sftp /usr/libexec/openssh/sftp-server##后面加入
    Subsystem sftp internal-sftp
    #注意,以下要 放在 本文件的最后行,否则 root用户无法登陆
    Match Group sftp
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory %h
    ForceCommand internal-sftp
    

    说明 :
      Match Group sftp 匹配sftp用户组中的用户
      ChrootDirectory %h 只能访问默认的用户目录(自己的目录),例如 /data/sftp/demo1

  • 重启ssh服务

    systemctl restart sshd.service
    
  • 设置目录权限

    chown root:sftp /data/sftp/demo1/
    chown root:sftp /data/sftp/demo2/chmod 755 /data/sftp/demo1
    chmod 755 /data/sftp/demo2#设置用户可以上传的目录upload
    mkdir /data/sftp/demo1/upload
    mkdir /data/sftp/demo2/uploadchown -R demo1:sftp /data/sftp/demo1/upload/
    chown -R demo2:sftp /data/sftp/demo2/upload/
    
  • 关闭selinux

    vim /etc/selinux/config设置:SELINUX=disable
    
3.测试连接
  • 测试SFTP功能
    #登录sftp
    sftp demo1@192.168.47.111
    #进入upload目录
    cd upload
    #上传文件
    put /root/nginx-1.15.12.tar.gz
    #查看目录下的文件
    ls
    #下载文件
    get nginx-1.15.12.tar.gz 
    
    更多sftp命令详见博文:https://blog.csdn.net/cen50958/article/details/89503723
    demo2账号同理
    在这里插入图片描述
  • 测试不能使用SSH功能
    ssh demo1@192.168.47.111
    
    在这里插入图片描述

http://chatgpt.dhexx.cn/article/eAJZvwtk.shtml

相关文章

Fastdfs安装(超级无敌详细版)

注:如果还没开始安装,请根据本教程完整走完,每个教程都有差异,拼拼凑凑更容易出问题。本教程各个包的版本都是亲自试过没问题的,熟练的半小时内即可安装好。 由于在学习阶段,看了许多别人的教程和视频&…

MBR引导程序源码理解

目录 MBR引导程序源码理解序参考链接 开机流程简述与MBR引导程序的关系进入 BIOS 确认开机启动磁盘获取引导磁盘第一扇区MBR数据反汇编MBR.bin源码解读00000000 EB63 jmp short 0x6500000065 FA cli00000066 90 nop00000067 90 nop00000068 F6C280 test dl,0x800000006B 7405 j…

IDEA 创建Maven Web项目

背景 公司有一个非常老的项目,决定进行简单重构,纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式,也就是直接将jar包放在项目中。同时,项目结构也非常奇特,不是标准的Web项目目录结果。 于是&#xff…

确保web地址正确解决方案

确保web地址正确 重置ie解决 1.首先,进行打开一个为电脑中一个ie的浏览器,进行双击打开即可。 2.打开了一个浏览器之后,进行点击右上角中的 设置 图标。 3.进行点击了设置之后,弹出了下拉菜单选中为 internet 选项。 4.这样就…

WebAPI简介

1、WebAPI概述 为什么要使用WebAPI: Web API最重要的是可以构建面向各种客户端的服务。 ASP.NET WebAPI是什么: 官方定义如下,强调两个关键点,即可以对接各种客户端(浏览器,移动设备),构建ht…

深度解读互联网新时代:Web3.0

文章目录 深度解读互联网新时代——Web3.0一、Web3 —— 中心化网络的新兴名词二、Web3 “全家福”三、Web3 是互联网的货币层四、Web3 是互联网的身份层五、Web3 通过售卖数据来牟利的反击六、Web3 还拥有平台本身的一种方式七、Web3 是一种新的互联网赞助模式八、Web3 让建立…

使用Docker部署web项目

1、简介 本片文章主要介绍如何使用docker部署web项目。关于docker的安装及基本使用在笔者的另一篇文章中有相关的介绍。 链接 https://blog.csdn.net/H_porridge/article/details/123609120 2.准备一个web项目 自己有项目的可以用自己项目来部署,笔者此处也有一个…

CTFshow web17

萌新计划 进入题目,是一行php代码,发现c传参过滤掉了php,尝试一下日志文件包含漏洞 nginx的日志文件位置是/var/log/nginx/access.log 发现日志文件记录了User-Agent 那么我们就在User-Agent中写入一句话木马 上传成功,接下来我…

【计算机网络】Web服务器的配置

目录 课题描述 需求分析 2.1 WEB服务器基本构架 2.1.1 WEB服务器和浏览器 2.2 HTTP协议 2.2.1 HTTP简介 2.2.2 HTTP工作原理 2.3 FTP协议 2.3.1 FTP简介 2.3.2 FTP工作原理 2.4 ISS服务作用 概要设计 3.1 ISS服务器的安装与配置 3.2 详细设计 结果分析 4.1 We…

Zabbix web 监控

Zabbix web 监控 1、介绍 1、 Web 监控 监控指定的站点的资源下载速度,及页面响应时间,还有响应代码; 1、术语 web Scenario: web场景(站点) web page :web页面,一个场景有多个…

eclipse创建web项目

web创建 创建web项目错误解决方法如何设置Apache服务器 创建web项目 步骤1:创建Dynamic Web Project–动态web项目。 打开eclipse,在工具栏选在New–>Dynamic Web Project 在打开的Dynamic Web Project窗口,输入项目名。选择tomcat&…

idea部署web项目

资料来源 1.Idea 2020.2 创建web、Spring项目 2.idea部署web项目 3.IDEA 配置并运行tomcat 4.[IDEA:“Web”Facet resources are not included in an artifact] 5.【错误解决】Intellj(IDEA) warning no artifacts configured 1.idea中如何创建项目…

ctfshow-WEB-web7

ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格 页面中有一个文章列表,随便点一个 从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞 首先判断注入点,输入以下payloa…

Web是什么意思

Web是什么意思?可能大家经常听说Web这个词,却不知道它的真正含义,更不了解Web能用来干什么。那么今天我将为大家讲解一下Web的意思,以及学习Web到底有没有前景。 1、Web是什么意思 Web是什么意思?其实这是World Wide …

flutter开发web项目

Flutter Web在美团外卖的实践 - 掘金 让项目支持web :flutter create . 运行:flutter run -d chrome 运行指定渲染方式:flutter run --web-renderer html -d chrome 打包:flutter build web --release --web-renderer html 官…

1 使用Web2Py框架搭建网站

更多文章请关注: https://eightplus.github.io/ IDE:PyCharm 1、创建web2py项目 在下图左侧选中Web2Py,在右侧填写项目路径和应用名称,我这里是第一次创建,所以直接点击"Create"创建项目,此时…

通俗易懂web3.0

目录 前言一、WEB1.0二、WEB2.0三、WEB3.0区别最后 前言 大家好,我是清风。互联网连接了人与人,在过去的30年中,互联网技术不断进化、演化,向纵深发展,政治、经济、社交、生活、工作已经几乎离不开互联网。我们经历了…

ctfshow-WEB-web2

ctf.show WEB模块第2关是一个SQL注入漏洞,请求方式是POST请求,注入点是单引号字符型注入,flag就藏在当前的数据库的flag表中,使用联合注入获取数据即可 在用户名的输入框中输入万能账号 a or true #,密码随便输 登录成功,万能账号生效了,并且把查询到的用户名显示到了页面中,既…

Web3和Web2有什么区别?为什么Web3是未来?(以“以太坊”为例解读)

Web3和Web2有什么区别?为什么Web3是未来? 最近,Web3的概念十分火爆,下面这张图也是很有趣的描述了Web的一些特质,在社交软件内广为流传,那Web3到底是什么呢? Web2 是指我们大家今天都知道的互联…

Web2与Web3开发的不同之处

Web2是引入交互功能的第二代互联网,也是我们今天所熟悉的。随着Web的不断发展,第三代互联网,也被称为Web3,正处于积极开发中。Web3引入了在区块链上运行的去中心化和无需许可的系统。但是Web2和Web3开发之间有什么区别呢&#xff…