Linux指令运行原理和权限

news2025/1/22 9:18:25

Linux指令运行原理和权限

  • 一.命名行解释器
  • 二.权限
    • 1.用户分类
    • 2.什么是权限
    • 3.增删权限
    • 4.更改权限的拥有者
    • 5.三个概念
      • 1.权限掩码
      • 2.目录权限
      • 3.粘滞位
  • 三.权限总结

在这里插入图片描述

一.命名行解释器

在这里插入图片描述

在这里插入图片描述

那么命令行解释器存在的意义:1.进行命令的解释。2.保护os,对于非法的请求,直接拦截。

二.权限

1.用户分类

在这里插入图片描述

进入root权限
在这里插入图片描述

退回普通用户

在这里插入图片描述

变成其他用户,如果是root账号则不需要输入密码,如果是同级账号则需要输入密码

在这里插入图片描述

短暂的提升用户权限

在这里插入图片描述

在这条指令后,输入自己的密码,这样就可以暂时的进入root权限。但实际上并非所有用户都能进入root权限,你的用户必须在信任白名单里。

在这里插入图片描述

2.什么是权限

1.一件事情是否允许你做(与访问者有关)
2.文件类型和访问权限(与事物属性有关)

在这里插入图片描述

这里的人指的是具体的角色,权限身份。它与我们具体的用户是一种相互支持的关系,不同的用户可以扮演不同的角色。就像一个人既可以是医生,也可以是父亲。

属性

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.增删权限

注意增删权限只有拥有者和root能使用。

在这里插入图片描述

给拥有者增删权限

在这里插入图片描述

在这里插入图片描述

给所属组和其他人增删权限

在这里插入图片描述

给所有人增删权限

在这里插入图片描述

因为权限只有有和没有两个选项,如果我们将有权限看作1,无权限看作0,那么rwx就可以写为111,转换为8进制就是7,如果我们给所有人加上rwx权限,那么就是777。

在这里插入图片描述

4.更改权限的拥有者

在这里插入图片描述

在这里插入图片描述

但是我们在直接进行操作时会出现操作不允许。这是因为这种操作需要征求别人同意,很明显这里很难操作。所以我们还可以强制给予(需要权限提升到root)。

也可以一次更改拥有者和所属组

在这里插入图片描述

总结
在这里插入图片描述

如果我既是文件拥有者又是所属组,但是作为文件拥有者我只有读的权限,作为所属组我既有读又有写的权限,那么我能不能写文件呢?
在这里插入图片描述

在这里插入图片描述

答案是不能的。这是因为权限只能选择一个进行认证,也就是说因为已经首先认证了拥有者权限,那么就不能再认证所属组权限了。

5.三个概念

1.权限掩码

在这里插入图片描述

为什么普通文件的默认权限是rw-rw-r–(664)呢?

在这里插入图片描述

为什么创建的目录默认权限是rwxrwxr-x(775)呢?

在这里插入图片描述

在这里插入图片描述

这里其实存在一个权限掩码umask,它其实是8进制的,第一个0是代表8进制。它的作用是凡是在umask中出现的权限,不会在最终的文件权限中出现。

在这里插入图片描述

这里看上去很像减法,实际上并不能当作减法来看。我们这里可以将权限掩码修改一下。

在这里插入图片描述

在这里插入图片描述

按照减法推论,这里的test3应权限应该变为665,但实际上它的权限是666。

在这里插入图片描述

根据umask的定义,其实这里umaks最后一位是1,那么意味着test3的最后一位是0,但实际上test3最后一位本来就是0,所以实际上umaks并没有起作用。

在这里插入图片描述

2.目录权限

一个文档的读写很好理解,那么一个目录的读写又代表什么含义呢?首先一步一步来,我们为什么能进入目录呢?

在这里插入图片描述

是不是因为我们有读的权限,接下来将这个权限去掉看看发生什么。

在这里插入图片描述

我们可以发现我们依然能够进入,但是不能够查看了。这说明读权限是影响查看列表的操作。那么写呢?

在这里插入图片描述

写是不能在目录里创建文件了。

总结

在这里插入图片描述

3.粘滞位

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

那么此时在我们可以直接在根目录下创建共享文件,任何人都可以在这个文件里进行读写。但问题来了,任何一个人都可以写,也就意味着每个人都可以任意删除文件,很明显这是不合理的。那我们如何规避这个问题呢?能不能把写的权限去掉呢?答案是不可以的,如果去掉,那么这个共享文件就毫无意义,所以我们得有个新概念来解决这个问题。就是粘滞位。

在这里插入图片描述

在这里插入图片描述

我们可以看到这里的x变为了t,t其实也是一种可执行权限,但这个权限有些特殊。这代表着你可以新建文件,但只能删除或修改你自己建立的文件。

在这里插入图片描述

在这里插入图片描述

三.权限总结

在这里插入图片描述

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

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

相关文章

TimesNet:用于一般时间序列分析的时间二维变化模型

摘要 时间序列分析在天气预报、异常检测和动作识别等广泛应用中具有极其重要的意义。本文重点研究时间变量建模,这是广泛分析任务的共同关键问题。以前的方法试图直接从一维时间序列完成此操作,由于错综复杂的时间模式,这极具挑战性。基于对…

使用flask获取树莓派摄像头监控视频

目录 1、安装flask库 2、使用flask打开网页传输视频 2.1 在树莓派终端桌面上,新建一个flask文件夹 2.2 在flask文件夹里面,新建一个template文件夹和app.py文件 2.3 在template文件夹里面,新建一个index.html文件 2.4 使用flask运行代码…

【半小时入门vue】最容易理解的vue入门方式

半小时入门vue 前言(!important)学习vue的前提什么是vue?vue的引入方式实例化一个对象和创建一个对象实例化一个vue对象模板语法1.插值表达式2.v-text和v-html指令3.v-bind指令4.v-on指令5.v-model指令6.v-if和v-show指令7.v-for指…

AD-STM32

AD-STM32 ADC (Analog-Digital Converter) 模拟-数字转换器A DC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间 输入电压范围: 0-3.3V,转换结果范围: 0~409518个输…

MySQL内幕揭秘:探索MySQL调优指南,解锁MySQL的强大功能

1、MySQL大事记 1994年:Michael Widenius和David Axmark创建了MySQL AB。 1995年:MySQL从最初的beta版本发布,成为一款开源软件。 1997年:MySQL发行版本3.21,并成为了第一个支持多个存储引擎的数据库管理系统。 2000年…

uniapp 地图组件(map)的使用总结

总结一下本次在uniapp中使用map遇到的一些问题 文章分别是基础 定位图标 获取自身经纬度 通过经纬度获取当时城市信息 首先先看成品 首先引入map组件 <template><view class"content"><map style"width: 100%; height: 90vh;" :layer-…

通过云函数搭建内地可用的OpenAI代理(腾讯云centos系统)

需求&#xff1a; 大陆内地云服务器无须搭梯子&#xff0c;无须NGINX反向代理访问openAI。 背景&#xff1a; 平时工作环境是局域网&#xff0c;不方便分享给朋友用&#xff0c;即使不是局域网也不可能一直开着自己的电脑啦&#xff0c;于是想着给弄到云服务器上。 一般来说&…

diff命令和vimdiff命令

文章目录 diff命令基本用法选项示例 vimdiff命令命令格式选项说明常用操作 diff命令 diff命令是一个文本比较工具&#xff0c;用于比较两个文件的内容&#xff0c;它会逐行比较两个文件的内容并输出它们之间的差异。下面是diff命令的常用选项和用法&#xff1a; 基本用法 比…

数据信息汇总的7种基本技术总结

数据汇总是一个将原始数据简化为其主要成分或特征的过程&#xff0c;使其更容易理解、可视化和分析。本文介绍总结数据的七种重要方法&#xff0c;有助于理解数据实质的内容。 1、集中趋势:平均值&#xff0c;中位数&#xff0c;众数 集中趋势是一种统计测量&#xff0c;目的…

RFID系统简介:优点、应用与发展前景

一、介绍RFID系统 RFID系统全称是Radio Frequency Identification&#xff0c;是一种通过电磁场自动识别标记&#xff08;Tag或RFID标签&#xff09;并读取相关数据的技术。与条形码技术相比&#xff0c;RFID系统最大的特点就是可以自动识别、无须接触扫描&#xff0c;并且可以…

MySQL报错:Got an error reading communication packets

error reading 关闭连接 通常一旦连接建立&#xff0c;MySQLD端的线程会堵塞在poll上&#xff0c;而poll的就是连接socket的fd&#xff0c;等待读取命令&#xff0c;也就是读取MySQL net packet的header。同时如果是poll timeout超时则设置为SOCKET_ETIMEDOUT 这就是我们平时说…

ResNet 原论文及原作者讲解

ResNet 论文摘要1. 引入2. 相关工作残差表示快捷连接 3. 深度残差学习3.1. 残差学习3.2. 快捷恒等映射3.3. 网络体系结构普通网络 plain network残差网络 residual network 3.4. 实施 4. 实验4.1. ImageNet分类普通的网络 plain network残差网络 residual network恒等vs.快捷连…

ribbon的使用

什么是ribbon Ribbon是Netflix公司提供的一个基于HTTP和TCP的客户端负载均衡工具。 Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具&#xff0c;Ribbon客户端组件提供一系列的完善的配置&#xff0c;如超时&#xff0c;重试等。通过Load Balancer获取…

随笔:mysql的主主同步

背景&#xff1a; nginx负载均衡和双击热备下&#xff0c;要求支持mysql的test库的主主同步&#xff0c;同时需要豁免特定的三张配置表。 实现步骤&#xff1a; 1. 查看防火墙是否是关闭状态。systemctl status firewalld 2. 修改配置&#xff0c;增加以下内容。vi /etc/my.cnf…

利用Github Action备份Docker容器中的数据库

利用Github Action备份Docker容器中的数据库 本文方案仅供技术参考与娱乐&#xff01; 前言 数据很重要&#xff0c;所以我们要经常备份。 那么怎么备份呢&#xff1f;假如我们使用云厂商的数据库&#xff0c;里面已经自带了快照和备份功能了&#xff0c;只要你愿意花钱&…

golang 使用 OpenTelemetry 实现跨服务 全链路追踪

使用 OpenTelemetry 链路追踪说明 工作中常常会遇到需要查看服务调用关系,比如用户请求了一个接口接口会调用其他grpc,http接口,或者内部的方法这样的调用链路,如果出现了问题,我们需要快速的定位问题,这时候就需要一个工具来帮助我们查看调用链路OpenTelemetry就是这样一个工…

力扣总结,深度优先题

LCP 67. 装饰树 –链接– 中等 10 相关企业 力扣嘉年华上的 DIY 手工展位准备了一棵缩小版的 二叉 装饰树 root 和灯饰&#xff0c;你需要将灯饰逐一插入装饰树中&#xff0c;要求如下&#xff1a; 完成装饰的二叉树根结点与 root 的根结点值相同 若一个节点拥有父节点&#x…

用Java开发的建站神器JPress

什么是 JPress &#xff1f; JPress 是一个使用 Java 开发的、类似 WordPress 的产品&#xff0c;支持多站点、多语种自动切换等。&#xff08;JPress 始于2015 年&#xff09; 目前已经有 10w 网站使用 JPress 进行驱动&#xff0c;其中包括多个政府机构&#xff0c;200 上市公…

HashMap 扰动函数、负载因子、扩容链表拆分

文章目录 1.扰动函数2.初始容量3.负载因子4.扩容链表拆分 1.扰动函数 在jdk8中&#xff0c;hashmap有这样一段代码&#xff0c;他叫扰动函数&#xff0c;目的是优化散列效果 static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h &…

初识Java多线程编程

文章目录 一、线程的状态二、线程的常见属性三、多线程编程Thread类常用构造方法1.继承Thread类2.实现Runnable接口3.匿名内部类实现4.lambda 表达式创建 Runnable 子类对象 四、线程的常见方法 一、线程的状态 //线程的状态是一个枚举类型 Thread.State public class ThreadS…