当前位置: 首页 > news >正文

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童年游戏】满满的回忆杀—那些年玩过的童年游戏你还记得吗?那个才是你的菜?看到第一个我就泪奔了(致我们逝去的青春)

导语 滴一一学生卡🙌 结伴上车的学生仔子们 用笑声打破车厢的沉默 大人眼里的晚高峰 是给放学后快乐😀时光的加时 下车的学生匆匆起身带起 一阵熟悉的栀子香于💓 是关于校园的记忆 开始零零散散地闪现 放学后集合的秘密基地/跟着城…...

C++ | 认识标准库string和vector

本文概要 本篇文章主要介绍C的标准库类型string和vector,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。 🌟🌟🌟个人简介 🌟🌟🌟 ☀️大家好&a…...

JAVA面试宝典: SpringCloud知识点(通俗易懂易背)

1、什么是 Spring Cloud? Spring Cloud 是基于 Spring Boot 的微服务架构开发工具箱,提供了在分布式系统中构建可靠的、弹性的、灵活的应用所需的大多数工具。Spring Cloud 中包含的子项目如下: Spring Cloud Config:配置管理工具…...

es学习笔记

集群环境下数据往哪个节点放? 路由计算:hash(id) %主分片的数量 集群环境下查数据怎么查? 分配控制:访问任何一个节点都能获取数据,随机访问到的这个节点称为协调节点(访问了当前节点,不一定从当前节点…...

SAS学习第9章:卡方检验之适合性检验与独立性检验

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时&#xf…...

马斯克爆料Twitter裁了八成员工;OpenAI CEO:GPT-5根本不存在;小鹏被曝年终奖打0.5折 | AI一周资讯

来源: AI前线 微信号:ai-front 整理 | 凌敏 微软宣布开源 Deep Speed Chat;消息称软银旗下 Arm 启动赴美 IPO;国家网信办出台生成式 AI 管理办法;前理想 AI 芯片一号位骄旸加入三星,负责组建 GPU 团队…… 资 讯 Op…...

ASEMI代理ADG1408YRUZ-REEL7原装ADI车规级ADG1408YRUZ-REEL7

编辑:ll ASEMI代理ADG1408YRUZ-REEL7原装ADI车规级ADG1408YRUZ-REEL7 型号:ADG1408YRUZ-REEL7 品牌:ADI /亚德诺 封装:TSSOP-16 批号:2023 安装类型:表面贴装型 引脚数量:16 类型&#…...

phpstudy本地环境搭建图文教程

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…...

【UE 控件蓝图】菜单及功能实现

素材资源连接:百度网盘 请输入提取码 密码:fvcw 效果 步骤 1. 创建蓝图,父类为“HUD” 命名为“MainMenuHUD”并打开 在事件图表中添加如下节点: 2. 创建控件蓝图,命名为“MainMenuWidget” 此时在“MainMenuHUD”的…...

Java 并发编程面试题——Future

目录 1.什么是 Future 模式?Java 中是如何实现的?2.Callable、Future 与 FutureTask 分别是什么?2.1.Callable 接口2.2.Future 接口2.3.FutureTask 类 3.CompletableFuture 类有什么用? 1.什么是 Future 模式?Java 中是…...

SpringBoot 介绍

1.简介 SpringBoot最开始基于Spring4.0设计,是由Pivotal公司提供的框架。 SpringBoot发展史: 2003年Rod Johnson成立Interface公司,产品是SpringFramework2004年,Spring框架开源,公司改名为Spring Source2008年&…...