linux配置xftp文件管理

linux配置xftp

需求如下

1.创建两个ftp用户,用户的工作目录位于 /sftp 目录下

2.该用户无法进入其他用户的目录

3.创建一个公共目录,允许所有用户上传,但不能删除其他人的文件

4.创建一个团队目录,允许上传和删除其他人的文件

具体实现如下

创建一个名为sftpusers的新用户组。这个组将用于管理SFTP用户。

groupadd sftpusers

创建一个名为ftp01和ftp02的新用户,并将其添加到sftpuser组中,-G选项用于指定用户所属的附加组

adduser ftp01 -G sftpusers
adduser ftp02 -G sftpusers

使用echo命令和管道|将密码Admin@123传递给passwd, --stdin ftp01命令,以设置ftp01和ftp02用户的密码

echo "Admin@123" | passwd --stdin ftp01
echo "Admin@123" | passwd --stdin ftp02

为ftp01和ftp02用户创建目录

mkdir -p /sftp/ftp01/home
mkdir -p /sftp/ftp02/home

将/sftp/ftp01目录及其所有子目录和文件的所有权更改为ftp01用户和ftp01组,ftp02同理

chown -R ftp01:ftp01 /sftp/ftp01
chown -R ftp02:ftp02 /sftp/ftp02

将/sftp/ftp01目录及其所有子目录和文件的权限设置为770,这意味着所有者(ftp01用户)和所属组(ftp01组)可以读、写和执行,而其他用户没有任何权限, ftp2同理

chmod -R 770 /sftp/ftp01
chmod -R 770 /sftp/ftp02

创建一个名为/sftp/team和 /sftp/pub的新目录

mkdir /sftp/team
mkdir /sftp/pub

将/sftp/team目录的所有权更改为root用户和sftpusers组

chown root:sftpuser /sftp/team/

将/sftp/team目录的权限设置为2770。这里的2意味着在该目录下创建的新文件和目录将继承组的所有权(即sftpuser组)。
770意味着所有者(在这个例子中是root)和所属组(sftpuser组)可以读、写和执行,而其他用户没有任何权限

chmod 2770 /sftp/team/

将/sftp/pub目录的权限设置为1777。这里的1(粘滞位)意味着只有文件的所有者、目录的所有者或具有超级用户权限的用户才能删除或重命名该目录中的文件。
777意味着所有者、所属组的成员和所有其他用户都可以读、写和执行(但由于粘滞位,普通用户不能删除其他用户的文件)

chmod 1777 /sftp/pub

然后修改 /etc/ssh/sshd_config 配置文件, 注释调原来的 Subsystem sftp /usr/libexec/openssh/sftp-server 这行配置,复制修改成如下内容

#Subsystem sftp	/usr/libexec/openssh/sftp-server
Subsystem sftp  internal-sftp -d %u/home

最后重启sshd服务

systemctl restart sshd

这些命令共同配置了一个SFTP环境,其中每个用户有自己的主目录(/sftp/ftp01/home和/sftp/ftp02/home),并且有一个共享的team目录,其中的文件可以被sftpuser组的所有成员访问和修改,还有一个公共的pub目录,其中用户可以放置文件供其他用户访问,但不能删除其他用户的文件。

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

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

相关文章

Spring Boot实战:编程训练系统开发手册

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理编程训练系统的相关信息成为必然。开发合适…

方案丨车险保单OCR:3秒钟完成保单审核

在涉及车辆交易的各种情况下,记录和管理车险保单信息是一项必不可少的任务。然而,面对数量庞大的电子保单,传统的手工录入方式显得尤为低效——它不仅消耗大量时间,而且容易出现错误,这不仅影响了用户的满意度&#xf…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中,接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用,被广泛用于进行各种性能测试,包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…

嵌入式硬件电子电路设计(五)MOS管详解(NMOS、PMOS、三极管跟mos管的区别)

引言:在我们的日常使用中,MOS就是个纯粹的电子开关,虽然MOS管也有放大作用,但是几乎用不到,只用它的开关作用,一般的电机驱动,开关电源,逆变器等大功率设备,全部使用MOS管…

如何优化开放数据湖仓一体的性能

数据湖仓一体架构由 Apache Hudi、Apache Iceberg 和 Delta Lake 等开放表格式提供支持,提供了一种开放且经济高效的方式来管理组织不断增长的数据和分析需求。它提供了在同一数据存储上运行并发事务的可靠性,从而提高了效率。数据湖仓一体支持关键功能&…

比较基因组分析

比较基因组分析(Comparative Genomics Analysis)是一门通过比较不同物种或个体的基因组序列来研究其相似性与差异性的科学方法。它有助于揭示物种间的进化关系、基因功能、生物适应性及潜在的疾病机制。近年来,随着高通量测序技术的发展&…

leetcode 148. 排序链表 中等

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3: …

基于单片机的智能小车(论文+源码)

1系统整体方案 此次多功能智能小车的设计系统,其整个控制电路的框架如下图所示。整个系统采用STM32单片机为控制器其中:LCD液晶负责显示当前信息,蜂鸣器负责特殊情况下进行报警提醒,红外遥控模块方便用户进行远程操作小车,电机模块拟采用前驱的方式&…

基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面

文章目录 前言🎓一、数据集准备🎓二、模型训练🍀🍀1.初始化🍀🍀2.加载数据集🍀🍀3.划分数据集,并保存到新的文件夹🍀🍀4.可视化数据集🍀🍀5.模型构建🍀🍀6.数据增强🍀🍀7.设置训练参数🍀🍀8.训练与测试🎓三、模型测试🍀🍀1.初始化�…

UCSD:LLM通过工具使用解决科学问题

📖标题:Adapting While Learning: Grounding LLMs for Scientific Problems with Intelligent Tool Usage Adaptation 🌐来源:arXiv, 2411.00412 🌟摘要 🔸大型语言模型(LLMs)在解…

【时间之外】IT人求职和创业应知【34】-人和机器人,机器人更可靠

目录 新闻一:人形机器人产业持续高速增长,2026年中国市场规模将突破200亿元 新闻二:AI技术驱动设备厂商格局变化,部分厂商市占率快速提升 新闻三:华为与江淮汽车携手打造超高端品牌“尊界”,计划于明年春…

MyBatis及相关文件配置

MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。以下是对MyBatis的详细讲解: 一、MyBatis的起源与发展 MyBatis最初是Apache的一个开源项目iBATIS,2010年迁移到Google Code并改名为MyBatis,2013年11月又…

【FastAPI】1-url参数

fastapi的核心功能是提供HTTP请求接口 “幂等”和“非幂等” 幂等(idempotent):如果一个方法重复执行多次,产生的效果是一样的,那么这个方法就是幂等的 “Methods can also have the property of “idempotence” in …

CentOS Stream 9设置静态IP

CentOS Stream 9设置静态IP CentOS Stream 9作为CentOS Stream发行版的下一个主要版本,已经发布有一段时间,但与目前广泛使用的CentOS7有较大区别。安装试用Stream 9的过程中,就发现设置静态IP的方式和CentOS7/8差别较大,在此记录…

机器人学 雅可比矩阵

雅可比矩阵(Jacobian Matrix)是机器人学中一个非常重要的工具,广泛应用于分析机器人末端执行器的速度和力学(静力)关系。理解雅可比矩阵的速度和静力作用对于机器人运动控制、动力学分析以及优化设计具有重要意义。 一…

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-最小的数

CL13 最小的数(20 分) 输入一个有 n 个无重复元素的整数数组 a&#xff0c;输出数组中最小的数。提示&#xff1a;如使用排序库函数 sort()&#xff0c;需要包含头文件#include 。输入&#xff1a; 第一行一个正整数 n(2<n<20)&#xff1b; 第二行 n 个不重的整数 a[i]…

python数据写入excel文件

主要思路&#xff1a;数据 转DataFrame后写入excel文件 一、数据格式为字典形式1 k e &#xff0c; v [‘1’, ‘e’, 0.83, 437, 0.6, 0.8, 0.9, ‘好’] 1、这种方法使用了 from_dict 方法&#xff0c;指定了 orient‘index’ 表示使用字典的键作为行索引&#xff0c;然…

制作自己的刷题小题库,提高刷题效率

日常刷题 乱序/背题多种模式 组队刷题 查看小组的刷题统计 在线考试 创建考试多人同时答题 ----这是一条分割线----- 土著刷题&#xff0c;是一款可以导入题库的在线刷题学习小&#x1f34a;序&#xff0c;提供一套以【搭建题库-组建小组-刷题练习-在线考试】为中心的完整服务…

在 Oracle Linux 8.9 上安装Oracle Database 23ai 23.5

在 Oracle Linux 8.9 上安装Oracle Database 23ai 23.5 1. 安装 Oracle Database 23ai2. 连接 Oracle Database 23c3. 重启启动后&#xff0c;手动启动数据库4. 重启启动后&#xff0c;手动启动 Listener5. 手动启动 Pluggable Database6. 自动启动 Pluggable Database7. 设置开…

springboot线下培训机构集中管理和推荐平台-计算机毕业设计源码48919

摘 要 该论文研究了一种线下培训机构集中管理和推荐平台的设计与实现。该平台旨在解决传统线下培训机构管理和推荐过程中存在的诸多问题&#xff0c;包括信息不对称、资源分散、推荐不精准等。通过系统性的需求分析和技术调研&#xff0c;设计了一套基于Spring Boot和Vue的前后…