Linux_红帽8学习笔记分享_5
Linux_红帽8学习笔记分享_5
文章目录
- Linux_红帽8学习笔记分享_5
- 1. UMASK反掩码
- 1.1如何查看反掩码umask
- 1.2 UMASK反掩码的作用
- 1.2.1对于目录来说
- 1.2.2对于文件来说
- 1.3如何修改UMASK反掩码
- 1.4普通用户反掩码的测试
- 2.whereis的使用
- 3. SUID权限弥补(主要针对文件,所有者执行位变成了s或S)
- 3.1测试passwd
- 3.2 s和S的区别
- 4. SGID权限弥补(主要针对目录,组内成员的执行位变成了s)
- 5. STICK粘滞位(其他用户的执行位变成了t)
- 6. ACL(访问控制列表河以针对文件或目录)
- 6.1如何查看文件的ACL信息
- 6.2如何修改文件的ACL信息
- 6.3如何删除文件的ACL信息
- 6.4设置目录的ACL信息
- 6.5当复制或者移动一个具有ACL属性的文件或目录时
- 7.高级权限
1. UMASK反掩码
1.1如何查看反掩码umask
我们在root身份下输入umask,如下图所示,会发现它的默认值是0022。
我们创建一个新用户,使使用普通用户输入umask发现它的默认值是0002,如下图所示。
总结一下:root用户的反掩码0022;普通用户的反掩码0002
1.2 UMASK反掩码的作用
反掩码的作用是用来决定文件或者目录的缺省权限值的。
1.2.1对于目录来说
目录的缺省权限值=777-UMASK反掩码,例如:
如上图所示,在root身份下创建的目录,它的权限转化为十进制数就是755,并且755=777-022
如上图所示,在普通用户身份下创建的目录,它的权限转化为十进制数就是755,并且775=777-002
1.2.2对于文件来说
文件的缺省权限值=777-UMASK反掩码,例如:
如上图所示,在root身份下创建的文件,它的权限转化为十进制数就是644,并且644=777-022-111(111并不是绝对的,它的值遵循有X则减,无X则不变,对于所有者、组内、组外,如果它们有X权限,那么它就减1,如果没有X权限,则不进行减)
如上图所示,在普通用户身份下创建的文件,它的权限转化为十进制数就是664,并且664=777-002-111。
1.3如何修改UMASK反掩码
我们可以使用umask+要修改成为的反掩码,来修改,如下图所示
在使用反掩码来决定文件或目录的缺省权限值时,也会按照刚刚改变成为的反掩码来计算,对于创建文件时,它的缺省权限值同样遵循有X则减,无X则不变,具体如下图所示。
1.4普通用户反掩码的测试
我们尝试使用普通用户更改他的反掩码并进行创建目录和文件的操作具体如下图所示。
2.whereis的使用
他用来查询我们运行这条命令,他在Linux底层运行的是哪个命令脚本,例如:
passwd先找到的是/usr/bin下的passwd头文件
3. SUID权限弥补(主要针对文件,所有者执行位变成了s或S)
其中此处的U代表着所有者位,如果是G则代表着组内group位。SUID也叫临时的身份跳转(在你运行的时候临时跳转一下身份,运行完成后,回到原本的身份,会将风险降的很低。)
3.1测试passwd
如下图所示,passwd的第三位就是s,它针对这种敏感命令让它的运行风险降低到最低
如果我们将它的s改变成为x,如下图所示这个passwd将不会被执行成功。
经过更改后,你可以运行,但是运行不成功。我们要想要成功运行,我们需要将它改回来,如下图所示。
3.2 s和S的区别
s代表该执行位原先具有X的权限,S代表该执行位原先不具有X的权限。但是s和S作为权限弥补的功能二者是相同的,仅仅是表现形式和基础不一样。在经过Linux的chomd命令可以看出这些不同,如下图所示。
4. SGID权限弥补(主要针对目录,组内成员的执行位变成了s)
此处的G代表着组内group位,我们在serverb中的111目录下创建文件和子目录,查看其详细信息如下图所示。
![]](https://img-blog.csdnimg.cn/e3a82f4d95104afc919bbd094ce6d13d.png#pic_center)
我们对111目录的组内加上s属性,并再次创建文件和子目录,如下图所示。
SGID目录最大的一个区别,它在SGID类型目录中创建的对象,它的所属组会自动继承副目录的所属组(例题:在某一个位置创建一个目录,不管谁在这个目录下写新的对象,它的所属组必须是指定的group。解决方法:首先将这个目录的所属组使用chown命令改成指定的group,再使用chmod g+s命令把这个目录设置成SGID目录。)
5. STICK粘滞位(其他用户的执行位变成了t)
例如刚下的tmp目录就是个粘滞位目录,如下图所示。
同样的我们可以使用ls -ld来查看tmp目录的属性,如下图所示。
我们新建一个share文件夹,并且给予它全部权限,使用zhangsan用户在它里面创建zhangsan1.txt和zhangsan2.txt,具体如下图所示。
我们可以在chmod命令中使用-R参数,让其目录下的所有内容页给予满权限设置,具体如下图所示。
经过以上这些设置后,lis用户也可以将share文件夹中的文件进行删除,具体如下图所示。
我们如果想要让zhangsan用户创建的文件,仅能由管理员和zhangsan用户两个人进行删除操作,我们就要为权限的第九位改为t属性,即更改为粘滞位目录,具体操作如下图所示。
虽然zhangsan2.txt,它是满权限的,但是它上级目录已经被设置为粘滞位目录,这样lis用户就不能进对zhangsan用户创建的文件进行删除了,具体如下图所示。
同样实现的是zhangsan用户本身可以对它创建的文件进行删除,具体如下图所示。
6. ACL(访问控制列表河以针对文件或目录)
ACL就相当于特殊用户的特殊权限。
6.1如何查看文件的ACL信息
我们可以使用getfacl来查看ACL信息,具体如下图所示。
6.2如何修改文件的ACL信息
我们使用setfacl来修改ACL信息,具体操作如下图所示,我们可以看到在123.txt文件的9位权限后多了一个加号。
经过修改后,这个时候就可以用getfacl对这个文件进行查看,具体如下图所示, User:lis多了一个读写的权限。
接下来我们就可以使用lis用户来对这个文件进行编辑了,具体如下图所示。
接下来我们想让zhangsan用户对123.txt文件不能进行读的权限,我们对zhangsan用户使用setfacl来设置它特殊用户的特殊权限。同时可以用getfcal查看到多了一个user:zhangsan:—,具体如下图所示。
经过设置后,zhangsan用户就不能查看123.txt文件了,如下图所示。
要知道,我们可以为很多很多文件设置ACL信息,没有限制。
6.3如何删除文件的ACL信息
我们将参数改为-x,具体操作如下图所示。
即便是我们将所有的ACL信息删除掉了,但在123.txt文件的9位权限后面还是跟着+,具体如下图所示。
如果想要具体的去看还有没有ACL信息,我们就需要用getfacl仔细查看。当然我们也可以彻底一个文件或者目录的删除ACL信息,它能够将这个加号删掉,即使用chacl –B 目标对象这个命令,具体操作如下图所示。
6.4设置目录的ACL信息
我们在原先对文件设置的基础上加了d:,如下图所示。
同样我们使用getacl查看运行其信息,其中就多了一个user:lis:rwx,如下图所示。
参数d表示在/345目录中新建的文件或目录会自动继承/345目录的ACL信息值,具体如下图所示。
如上图所示,111.txt它的user中也有lis。
注意:ACL真正的效果仍然体现在对文件的操作上,即对文件修改时才能看出效果
6.5当复制或者移动一个具有ACL属性的文件或目录时
当移动一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是会移动的,具体操作如下图所示。
当复制一个具有ACL属性的文件或目录时,默认情况下,ACL属性值是不会复制的,具体操作如下图所示。
如果想要在复制它的时候,把ACL属性复制过去,只有在cp命令后加上-p参数才可以,具体如下图所示。
7.高级权限
chmod 7777 111.txt,其中最左边的7是满SUID SGID STICK权限组成的,SUID SGID STICK每个权限各代表一个1,加起来总共是7。例如下图。
如果我们只设置SGID,则010转换成十进制数字就是2,具体操作如下图所示。
所以chmod 1777就是只设置了STICK;chmod 3777就是设置了SGID 和STICK;而之前学习的chmod 777其实就相当于chmod 0777。
以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要
相关文章:

Linux_红帽8学习笔记分享_5
Linux_红帽8学习笔记分享_5 文章目录 Linux_红帽8学习笔记分享_51. UMASK反掩码1.1如何查看反掩码umask1.2 UMASK反掩码的作用1.2.1对于目录来说1.2.2对于文件来说 1.3如何修改UMASK反掩码1.4普通用户反掩码的测试 2.whereis的使用3. SUID权限弥补(主要针对文件,所有者执行位变…...

网络编程及项目思路
计算机和计算机之间通过网络进行数据传输 常见的软件架构: C/S:客户端/服务器 画面可以做的非常精美,用户体验好需要开发客户端,也需要开发服务端用户需要下载和更新的时候太麻烦 B/S:浏览器/服务器 不需要开发客户端,只需要…...

GD(兆易创新)系列FLASH进行FPGA和ZYNQ配置固化相操作
写在前面 本文主要针对使用GD(兆易创新)系列的FLASH做启动配置片时,遇到的相关问题进行简单整理复盘,避免后人踩坑。 本人操作固化芯片型号为:ZYNQ7045、690T(复旦微替代型号V7 690T)。 7系列…...
通过一个小例子来看一下C语言指针 p、*p、p、*p、*p分别代表什么
前言 在C语言中,指针是非常重要的概念。指针是一个变量,其值为另一个变量的地址。使用指针可以直接访问内存中的数据,这使得C语言非常灵活和强大。在学习C语言时相比大家都已经知道了&和*的区别了,但是你知道*&p和&*…...

【内摹访谈】谈谈AI爆发前夜的B端设计
本文来自摹客产品设计团队(MPD)的设计专栏“内摹访谈”。专栏介绍:专栏名称来源于西方美学理论「内摹仿说」,意指审美活动与摹仿活动紧密相连,审美不只针对表象动作,其核心在于由物及我,从表观带…...
Redis—AOF持久化
一、AOF定义 保存写操作命令到日志的持久化方式,就是 Redis 里的 AOF(Append Only File) 持久化功能 定义:以日志的形式记录每个操作,记录写指令不记录读指令,只许追加⽂件不允许修改,AOF保存的是appendonly.aof⽂件…...

OpenCV实例(五)指纹识别
OpenCV实例(五)指纹识别 1.指纹识别概述1.1概述1.2原理 2.指纹识别算法2.1特征提取2.2MCC匹配方法2.3尺度不变特征变换(SIFT) 3.显示指纹的关键点4.基于SIFT的指纹识别 作者:Xiou 1.指纹识别概述 1.1概述 指纹识别&…...

第二章 法的内容与形式
目录 第一节 法的内容与形式的概念 一、法的内容与形式的含义 二、法的内容和形式的关系 第二节 法律权利与法律义务 一、权利和义务的概念 二、权利和义务的分类 三、权利与义务的联系 第三节 法的成文形式与不成文形式 一、历史上各种法的表现形式 二、成文法与不成文…...

外包干了四年,感觉废了..
先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

Git如何推送当前代码到远程仓库
第一种方法 (建立在已经配置好用户变量和ssh基础上) 在本地创建git仓库 git init 绑定远程仓库,origin是给远程仓库起的别名,也可以起其他名字,但是如果用origin,git push时可以不指出名字,如果…...

第五章 工厂模式
文章目录 一、简单工厂模式1、传统方式实现披萨订购( 可以忽略)披萨父类 Pizza子类胡椒披萨 PepperPizza子类印度披萨 GreekPizza订购披萨 OrderPizza订购披萨的 客户端 PizzaStore运行结果传统的方式的优缺点,新增子类需要修改的地方牵扯太多传统方式的究极耦合 2、…...

Spring MVC 参数解析(13)
目录 简介 调用流程 1. 首先,还是需要进行到前端控制器的doDispatch方法,这是我们的调用Spring MVC的核心入口方法 2. 在doDispatch方法内部,我们调用到了HandlerAdapter.handle(*****) 方法 3. 最终,我们会来到 RequestMappi…...
探索 Qt WebEngineWidgets:从底层原理到高级应用与技巧
探索 Qt WebEngineWidgets:从底层原理到高级应用与技巧 (Exploring Qt WebEngineWidgets: From Fundamentals to Advanced Applications and Techniques 一、Qt WebEngineWidgets 模块简介及原理 (Introduction and Principles of Qt WebEngineWidgets Module)1. Qt…...

leetcode160. 相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后&…...
核心业务7:放款实现
核心业务7:放款实现 1.放款实现流程 -------------------未完成生成借款人还款计划和投资人回款计划-------------- 2.数据库表 3.前端流程 4.汇付宝流程 5.尚融宝后端流程 -------------------未完成生成借款人还款计划和投资人回款计划-------------- -------------…...
STM32F4系列芯片RTC模块介绍
RTC是“实时时钟”的缩写,它是一种芯片,在计算机等电子产品中广泛应用。RTC提供了实时时钟计时功能和存储时间的能力,即时钟模块,常用于控制和记录时间的应用场合。 RTC的工作原理 RTC主要由时钟电路、电源管理电路、晶振电路、…...
MySQL 在线人数 场景分析
一般在直播或者游戏中经常会统计用户在线人数,主要分为求每个时刻的在线人数和求某个时刻的在线人数两种。 【场景】:某个时刻的在线人数、每个时刻的在线人数 【知识点】:窗口函数、时间函数、sum(tag) over (order by dt,tag desc rows b…...
使用mybatis和dynamic-datasource-spring-boot-starter动态切换数据源操作数据库
记录:415 场景:使用mybatis和dynamic-datasource-spring-boot-starter动态切换数据源操作数据库。 版本:JDK 1.8,Spring Boot 2.6.3,dynamic-datasource-spring-boot-starter-3.3.2,mybatis-3.5.9。 源码:https://github.com/b…...
【日常刷题】迷宫问题
描述 定义一个二维数组 N*M ,如 5 5 数组下所示: int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走…...

【Python童年游戏】满满的回忆杀—那些年玩过的童年游戏你还记得吗?那个才是你的菜?看到第一个我就泪奔了(致我们逝去的青春)
导语 滴一一学生卡🙌 结伴上车的学生仔子们 用笑声打破车厢的沉默 大人眼里的晚高峰 是给放学后快乐😀时光的加时 下车的学生匆匆起身带起 一阵熟悉的栀子香于💓 是关于校园的记忆 开始零零散散地闪现 放学后集合的秘密基地/跟着城…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...