【Linux手动搭建Sftp,创建用户、用户组及删除用户】
SFTP (Secure File Transfer Protocol)是一种安全的文件传输协议,基于SSH协议进行加密传输。在进行文件传输时,SFTP客户端通过SSH协议与服务器进行连接,并且通过使用公钥和/或密码进行身份验证,从而确保传输的安全性。SFTP客户端可以使用多种工具进行连接,例如OpenSSH、FileZilla和WinSCP等等。
删除用户并重新创建
# 如果已有相同用户,删掉!
userdel sftpuser # 删除sftpuser这个用户
rm -rf /home/sftpuser # 删除sftpuser这个用户的目录
rm -rf /var/spool/main/sftpuser # 删除系统自动生成的邮箱
#新建sftp组、具体用户 sftpuser
# 新建组
groupadd sftp
# 新建用户
adduser sftpuser
# 添加用户且只能通过sftp登录,不能通过ssh连接
useradd -G sftp -s /sbin/nologin sftpuser
# 输入命令 设置密码 连续输入两次相同密码即可
passwd sftpuser
修改ssh配置文件
# 编辑sshd_config 文件
vi /etc/ssh/sshd_config
# 找到Subsystem sftp /usr/libexec/openssh/sftp-server
# 用 # 注释掉 并添加 一行
Subsystem sftp internal-sftp## 在末尾加入一下配置信息
#用chroot将用户的根目录指定到sftpuser用户目录
#这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名
Match User sftpuser
ChrootDirectory /data/sftp/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
设定chrootDirectory
#设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限
#不要太高,否则可能报Permission denied的异常 mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data -R
建立SFTP用户登入后可写入的目录
mkdir /data/sftp/sftpuser/workFile
chown bysftp /data/sftp/sftpuser/workFile
#给workFile以及下级文件授权777,否则可能报Permission denied的异常
chmod 777 /data/sftp/sftpuser/workFile -R
重启ssh
service sshd restart
现在你可以使用工具 FileZilla、Transmit等 使用 sftpuser 和设置的密码进行访问啦;
也可以直接在命令行 使用 sftp 你的ip地址
相关文章:
【Linux手动搭建Sftp,创建用户、用户组及删除用户】
SFTP (Secure File Transfer Protocol)是一种安全的文件传输协议,基于SSH协议进行加密传输。在进行文件传输时,SFTP客户端通过SSH协议与服务器进行连接,并且通过使用公钥和/或密码进行身份验证,从而确保传输…...
云上 Index:看「简墨」如何为云原生打造全新索引
拓数派首款数据计算引擎 PieCloudDB Database 是一款全新的云原生虚拟数仓。为了提升用户使用体验,提高查询效率,在实现存算分离的同时,PieCloudDB 设计与打造了全新的存储引擎「简墨」等模块,并针对云场景和分析型场景设计了高效…...
Linux安装cuda和cudnn教程
Linux安装cuda和cudnn教程 文章目录 1.下载cuda和cudnn2. 安装cuda并检验安装是否成功3. 安装cudnn4.验证cuda是否能用代码附件:解压各种格式文件的Linux命令参考文献 卸载之前的cuda 卸载之前的cuda教程 1.下载cuda和cudnn CUDA下载地址:https://dev…...
短视频矩阵源码
一、短视频矩阵源码搭建解析: 目录 一、短视频矩阵源码搭建解析: 二、短视频矩阵源码的开发路径分享: 三、短视频矩阵系统开发应具备哪些能力? 短视频技术开发能力: 开发人员应具备短视频相关技术能力,…...
群狼调研—连锁化妆品品牌门店神秘顾客调查的行家
连锁化妆品品牌门店神秘顾客调查作为群狼调研(湖南专业市场调查)的优势业务之一,公司成立至今已承包包括北京、上海、广州、深圳、长沙在内全国多个城市上百家不同化妆品品牌客户的神秘顾客调查服务,在创新性、行业操守及客户服务等方面赢得了广大客户的…...
C# 回文链表
234 回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true 示例 2: 输入&…...
基于freertos的温湿度蓝牙系统
前言:本项目主要是基于freertos的小项目,目的是为了巩固近期学习的知识,功能较简单,可自行扩充。 一、项目基本架构 项目基本功能:通过STM32单片机的freertos操作系统,将温湿度数据显示在oled屏幕上&#…...
华为云CTS 使用场景
云审计服务 CTS 云审计服务(Cloud Trace Service),帮助您监控并记录华为云账号的活动,包括通过控制台、API、开发者工具对云上产品和服务的访问和使用行为,提供对各种云资源操作记录的收集、存储和查询功能࿰…...
【css】nth-child选择器实现表格的斑马纹效果
nth-child() 选择器可以实现为所有偶数(或奇数)的表格行添加css样式,even:偶数,odd:奇数。 代码: <style> table {border-collapse: collapse;width: 100%; }th, td {text-align: cente…...
找视频素材就上这8个网站,免费可商用,马住了。
自媒体创作者,视频剪辑一定要知道这8个高质量视频素材网站,免费可商用,赶紧收藏! 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库网素材非常丰富,网站主要还是以设计类素材为主,高清视…...
Springboot部署ELK实战
Springboot部署ELK实战 1、部署docker、docker-compose环境安装docker安装docker-compose 2、搭建elk1、构建目录&&配置文件1、docker-compose.yml 文档2、Kibana.yml3、log-config.conf 2、添加es分词器插件3、启动 3、Springboot项目引入es、logStash配置1、引入依赖…...
【Leetcode】76.最小覆盖子串(困难)
一、题目 1、题目描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存…...
C++ 指针函数和函数指针
除了void类型的函数之外,函数在调用结束之后都要有返回值,指针也可以是函数的返回值。当一个函数的返回值是指针类型时,这个函数就是指针型函数。 使用指针型函数的最主要目的就是要在函数结束时把大量的数据从被调函数返回到主调函数中。而通…...
JAVA实现存在更新不存在插入与及多余的进行删除(三)
这个版本,主要是迭代重载了下save方法,不废话,直接上代码: /*** 保存数据,处理数据的增删改** param paramData 前台的参数* param dbData 后台的数据* param clazz 前后台参数对应的class* param beanName …...
iMX6ULL驱动开发 | OLED显示屏SPI驱动实现(SH1106,ssd1306)
周日业余时间太无聊,又不喜欢玩游戏,大家的兴趣爱好都是啥?我觉得敲代码也是一种兴趣爱好。正巧手边有一块儿0.96寸的OLED显示屏,一直在吃灰,何不把玩一把?于是说干就干,最后在我的imax6ul的lin…...
拥抱创新:用Kotlin开发高效Android应用
拥抱创新:用Kotlin开发高效Android应用 引言 在当今数字时代,移动应用已经成为人们生活中不可或缺的一部分。无论是社交媒体、电子商务还是健康管理,移动应用已经深刻地影响了我们的生活方式。随着移动设备的普及和功能的增强,A…...
Effective Java笔记(20)接口优于抽象类
Java提供了两种机制,可以用来定义允许多个实现的类型:接口和抽象类。自从Java 8为继承引入了缺省方法( default method),这两种机制都允许为某些实例方法提供实现。主要的区别在于,为了实现由抽象类定义的类型,类必须成…...
react学习笔记——1. hello react
包含的包一共有4个,分别的作用如下: babel.min.js:可以进行ES6到ES5的语法转换;可以用于import;可以用于将jsx转换为js。注意,在开发的时候,这个转换(jsx转换js)不在线上…...
明明已经安装字体,但IDEA、CLION无法找到思源黑体/Source Hans Sans的问题解决
IDEA、CLION的Jetbrain系列软件不支持非TrueType的中文字体,而Adobe官方给出的字体却不是TrueType的,所以便会导致Jetbrain系软件无法找到已安装的中文字体,因此我们需要安装TrueType的字体 请在以下Github链接中下载: TrueType思…...
2023-08-03力扣今日四题
链接: 剑指 Offer 67. 把字符串转换成整数 题意: 按规则将字符串转换成整数,规则不详叙 解: 字符串处理 实际代码: #include<iostream> #include<cstring> #include<climits> using namespac…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
