linux之权限管理

文章目录

  • 一、使用情况
    • 1.1 场景:
    • 1.2 外包
    • 1.3 外包的情况
  • 二、基础权限chmod
  • 三、ACL
    • 3.1 ACL是什么
    • 3.2 思考
    • 3.3 具体操作
    • 3.4 解决一起授权

一、使用情况

1.1 场景:

某个大公司,在一个部门,有一个经理和手下有两个员工,在操控一个Linux项目,项目又分为三期做,然而一期比较重要,经理带着员工做完了,公司就觉得技术难点已经做完攻克了,不需要投入之前的人了,到了二期就招外包人员去顶替之前员工做的事,然后会做linux权限控制,外包人员就需要招甲方人员授权。

1.2 外包

指企业将某些业务活动或服务委托给外部公司或个人来进行,以降低成本、提高效率或专注核心业务。

1.3 外包的情况

  1. 企业需要专业技能或资源,但自身无法内部开发或维护,因此选择外包给专业公司或个人来完成。
  2. 企业需要降低成本,外包可以帮助企业节省人力、物力和财力,提高效率和竞争力。
  3. 企业需要快速扩展业务或进入新市场,外包可以帮助企业快速获得所需的资源和服务。
  4. 企业需要专注于核心业务,将非核心业务外包给专业公司或个人来处理,以提高企业的专业性和效率。

二、基础权限chmod

命令格式:chmod [options] mode files

options:选择 mode模式(u代表用户) files文件
-r u=rw start.sh

命令ll可以查询出来

开头字母;l:代表链接,d代表文件夹,-代表文件
后面有点:代表没有做acl控制

在这里插入图片描述
在这里插入图片描述
拥有者:就是当前用户 拥有组:就是所在的组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

r代表卡读(看) w代表可以写(修改),x 代表可以执行(可以运行)
相加为7,所有有全部权限,
拿到的数字去相加得到的数字与421去对应就知道有什么权限了
如:5 4+1可以读和执行

三、ACL

3.1 ACL是什么

Access Control List的缩写,指访问控制列表。ACL是一种用于控制网络设备或操作系统上资源访问权限的机制,通过ACL可以限制哪些用户或哪些网络设备可以访问特定的资源。ACL通常用于路由器、交换机、防火墙等网络设备上,也可以在操作系统中用于控制文件和目录的访问权限。ACL可以根据不同的条件设置不同的访问规则,如IP地址、端口号、协议类型等。
在这里插入图片描述

我创建的文件自己和组内人员都可以操作,临时用户就是第三方人员也是外包进入,只有r-x可以读和执行

3.2 思考

如何实现如下的权限控制:

  • 每个项目成员在有一个自己的项目目录,对自己的目录有完全权限
  • 项目组中的成员对项目目录也有完全权限
  • 其他人对项目目录没有任何权限
  • 对于被分配进入项目的临时人员,只有读和执行权限,不能修改

初步思路:

  • 创建一个临时组(例如:temp),并将临时组的权限设置位 r-w
  • 将临时组也作为项目目录的所属组
  • 对于临时用户作为临时组的成员即可

问题:

  • Linux基本权限中,文件和目录同时只能有一个分组
  • 变成775权限导致不是外包人员也能看

解决办法

  • 使用ACL来解决上面的问题

3.3 具体操作

第一步:创建文件夹(查询是否创建成功ll,东西太多用管道符)

第二步:创建用户(可以是多个,用户=员工,张三zs、李四ls)

第三步:创建组(tgroup组名字)

第四步:把员工放到一个组里(-a追加和添加的意思 可以查看是否加进去 cat /etc/group)
在这里插入图片描述
第五步:修改目录的所有者和所有组(chown own代表拥有者)

第六步:修改权限为770

第七步:添加临时用户(外包人员 临时用户名字tempuser)

第八步:给临时用户设置密码
在这里插入图片描述

可以不是8个字符不管它的提示进行输入

第九步:设置ACL(给临时用户分配特定权限 一个一个加权限)

第十步:查看是否成功没
在这里插入图片描述
具体代码演示:

mkdir /project
ll | grep project
useradd zs
groupadd tgroup
gpasswd -a zs tgroup
chown root:tgroup /project
chmod 770 /project
useradd tempuser
passwd tempuser
setfacl -m u:tempuser:rx /project
getfacl /project

mask: 最多可以分配的权限 other其他用户

操作文件夹里面

具体代码演示:

进入文件夹
cd /project
创建文件
vim  root.txt
进入编辑
i
写内容
 
按EEC
 
退出保存
wq

用临时用户查看别人文件

cat +文件

上面需要一个一个授权

3.4 解决一起授权

解决办法搞一个临时组,给这个组只有读和执行的权限,每来一个外包人员就丢进去

第十一步:控制组的ACL权限(创建临时组—专门放外包人员 )

与第9步区分 一个用-u一个一个用户设置,这个-g

groupadd temp
setfacl -m g:temp:rx/project
getfacl /project

有组后的做法

添加新用户
useradd tempu02
设置密码
passwd tempu02
丢到组里
gpasswd -a tempu02 temp

在这里插入图片描述

总:如果用项目发现没有权限,就需要思考是领导没有给你权限还是合作方没给权限了,合作方没给,可以分析两方关系是否好

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

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

相关文章

【Java程序设计】【C00291】基于Springboot的网上图书商城(有论文)

基于Springboot的网上图书商城(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的网上图书商城 本系统分为系统功能模块、管理员功能模块以及卖家功能模块。 系统功能模块:在系统首页可以查看首页、图书…

HarmonyOS学习--三方库

文章目录 一、三方库获取二、常用的三方库1. UI库:2. 网络库:3. 动画库: 三、使用开源三方库1. 安装与卸载2. 使用 四、问题解决1. zsh: command not found: ohpm 一、三方库获取 在Gitee网站中获取 搜索OpenHarmony-TPC仓库,在t…

爬取m3u8视频

网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ 相关代码: #采集网址:https://www.bhlsm.com/cupfoxplay/609-3-1/ #正常视频网站:完整视频内容 # pip install pycryptodomex #流媒体文件:M3U8(把完整的…

C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2

目录 效果 项目 代码 下载 C# OpenVINO 百度PaddleSeg实时人像抠图PP-MattingV2 效果 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using System; using System.Diagnostics; using System.Drawing; using System.Security.Cryptography; using System.Text; us…

【电子书】云计算_大数据

资料 wx:1945423050,备注来源和目的 个人整理了一些互联网电子书 云计算_大数据 34招精通商业智能数据分析:Power BI和Tableau进阶实战.epubCloudera Hadoop大数据平台实战指南.epubDocker实战.epubDocker技术入门与实战 第2版.epubDocker技…

spark基础

文章目录 spark框架概述什么是spark起源spark VS hadoop(mapreduce)spark特点spark框架模块spark运行模式spark架构角色yarn角色saprk角色 小结:解决问题模块特点运行模式运行角色 spark环境搭建-local实验服务器环境基本原理本质角色分布搭建安装anaconda安装spark…

Redis 事务机制之ACID属性

事务属性 事务是对数据库进行读写的一系列操作。在事务执行时提供ACID属性保证: 包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)…

改进yolov5实现目标检测与语意分割项目

简介 基于ultralytics/yolov5多任务模型。同时实现yolo目标检测与语意分割以增加少量计算和显存为代价,同时完成目标检测和语义分割(1024512输入约增加350MB,同尺寸增加一个bisenet需要约1.3GB,两个单任务模型独立输入还有额外的延时)。模型…

【elementUi-table表格】 滚动条 新增监听事件; 滚动条滑动到指定位置;

1、给滚动条增加监听 this.dom this.$refs.tableRef.bodyWrapperthis.dom.scrollTop 0let _that thisthis.dom.addEventListener(scroll, () > {//获取元素的滚动距离let scrollTop _that.dom.scrollTop//获取元素可视区域的高度let clientHeight this.dom.clientHeigh…

Sass预处理器教程

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈 一、sass是什么 Sass官方文档 www.sasscss.com/guide Sass中文网 www.sass.hk sass是一种css预处理语言,由Ruby语言开发&#x…

【算法与数据结构】回溯算法、贪心算法、动态规划、图论(笔记三)

文章目录 七、回溯算法八、贪心算法九、动态规划9.1 背包问题9.2 01背包9.3 完全背包9.4 多重背包 十、图论10.1 深度优先搜索10.2 广度优先搜索10.3 并查集 最近博主学习了算法与数据结构的一些视频,在这个文章做一些笔记和心得,本篇文章就写了一些基础…

4.8 Verilog过程连续赋值

关键词:解除分配,强制,释放 过程连续赋值是过程赋值的一种。赋值语句能够替换其他所有wire 或 reg 的赋值,改写wire 或 reg 类型变量的当前值。 与过程赋值不同的是,过程连续赋值表达式能被连续的驱动到wire 或 reg …

苹果发布iPhone 16:革命性创新重新定义智能手机体验

(苹果总部,加利福尼亚州,2024年2月23日)——今天,全球领先的科技公司苹果公司再次震撼世界,宣布推出iPhone 16,这款革命性的智能手机重新定义了人们对于手机的期望和体验。 iPhone 16的发布代表…

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析

在自然和社会科学领域有大量与地理或空间有关的数据,这一类数据一般具有严重的空间异质性,而通常的统计学方法并不能处理空间异质性,因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法:经典地理加权回归,…

DM数据库学习之路(十八)DMHS数据实时同步软件部署及迁移测试

​​​​​ DMDRS介绍 产品介绍 达梦数据实时同步软件(以下简称 DMDRS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主…

【SpringCloudAlibaba系列--nacos配置中心】

Nacos做注册中心以及使用docker部署nacos集群的博客在这: 容器化部署Nacos:从环境准备到启动 容器化nacos部署并实现服务发现(gradle) 使用docker部署nacos分布式集群 下面介绍如何使用nacos做配置中心 首先要进行nacos-config的引入,引入…

【前端素材】推荐优质后台管理系统Modernize平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和控制网站、应用程序或系统后台操作的软件工具,通常由授权用户(如管理员、编辑人员等)使用。它提供了一种用户友好的方式来管理网站或应用程序的内容、用户、数据等方面的操作,并且通常…

kafka为什么性能这么高?

Kafka系统架构 Kafka是一个分布式流处理平台,具有高性能和可伸缩性的特点。它使用了一些关键的设计原则和技术,以实现其高性能。 上图是Kafka的架构图,Producer生产消息,以Partition的维度,按照一定的路由策略&#x…

康威生命游戏

康威生命游戏 康威生命游戏(Conway’s Game of Life)是康威发明的细胞自动机。 生命游戏有几个简单的规则&#xff1a; 细胞有两种状态&#xff0c;存活或死亡&#xff0c;每个细胞以自身为中心与周围的八格细胞互动。 对于存活的细胞&#xff1a; 当周围的细胞过少(<2)或…

【vue】如何打开别人编译后的vue项目

文件结构如下&#xff0c;编译后的文件放在dist中。 dist的文件结构大约如下&#xff0c;文件名称随项目 1.新建app.js文件 const express require(express);const app express();const port 8080;app.use(express.static(dist));app.listen(port, () > console.log); …