【Linux系统】第二篇、权限管理篇

news2024/10/6 20:28:50

文章目录

    • 一、Linux下的用户
    • 二、文件的权限
      • 1. 文件访问者的分类
      • 2. 文件类型和访问权限
      • 3. 文件权限值的表示方法
    • 三、文件访问权限的相关设置方法
      • 1. chmod
      • 2. chown
      • 3. chgrp
      • 4. umask(重点)
    • 四、file指令
    • 五、目录的权限
      • 粘滞位

一、Linux下的用户

这里我们在上一篇:基本指令篇,开头稍微讲解了一些,接下来我们具体的讲一讲:

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令: su [用户名] (su - [用户名])(后面的目录可以切换到用户的家目录下,路径发生改变,前者路径不发生改变)
功能: 切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
在这里插入图片描述

命令: sudo
功能: 不切换用户,就仅仅让普通用户,在一行内提权,以root的身份,执行对应的指令

sudo command,短暂提权 --> root执行命令

在这里插入图片描述
建议: 不推荐将root密码和普通用户密码设为一致的

二、文件的权限

权限 = 人 + 事物的属性

权限描述的就是人和事物属性的关系。接下来的文件访问者的就是人,文件属性就是事物属性。

1. 文件访问者的分类

文件访问者分为三类:

  • 拥有者(owner):即创建文件的用户
  • 所属组(group):拥有者所在的组,如果文件访问者只分拥有者和其他人的话,不便于多用户协作
  • 其他人(others):除了拥有者和所属组之外的都是其他人。

在这里插入图片描述
上图用框框出的第一列是文件的拥有者,第二列是所属组。由于用户较少所以自成一组
拥有者、所属组和其他,都是针对文件划分出的角色,而 root 和普通用户指的是具体的用户人

后面一列是文件的大小,再后面一列是文件的创建时间或最近修改时间。

2. 文件类型和访问权限

在上一篇中我们也稍微提到过,文件 = 内容 + 属性

而文件的属性数据我们知道的可就太多了,这里我们就讲解重要的两点,先看下图:

在这里插入图片描述
从上图可以清晰的看出,前面的一整块共有10列,共分成4组,第一列自成一组,之后每三列成一组,分别用不同的颜色框了起来。

而从我们学习指令到现在,我们可以发现,我们只要创建一个文件或目录,当我们查看文件的详细属性信息时,前面都有这么一大块,而这一大块代表什么呢?

1.文件类型:

通过ll显示的众多属性列中的第一列,在Linux中是用以区分文件类型的。一般有两种:- 代表普通文件,d代表目录。

注意: Linux中不以文件后缀作为区分文件的方式,只以属性的第一列进行区分。

  虽然Linux的文件类型与文件后缀无关,但并不意味着我们不可以使用后缀区分文件类型,而且我们Linux中的一些工具对文件后缀可能就有要求,比如在Linux中创建一个 .c 文件,我们可以在里面写代码,然后通过gcc工具编译运行,可以生成可执行程序,但如果是一个 .txt文件,就算我们在里面写了代码,我们gcc也编译不了它,更不可能生成可执行程序。

常见文件类型有以下几种:
在这里插入图片描述
前面标红的两个是我们必须要掌握的。

2.文件的权限属性:
上面讲了那么多,仅仅说的是属性的第一列,那还剩下的9列呢?

剩下九列,三三为一组,分别代表的是文件拥有者所属组其他人对文件的权限。

文件的权限分三种

  1. r :读权限,read对于文件而言,具有读取文件内容的权限;对于目录而言,具有浏览该目录信息的权限
  2. w:写权限,write对于文件而言,具有修改文件内容的权限;对于目录而言,具有创建或删除目录下文件的权限
  3. x:执行权限,execute对于文件而言,具有执行文件的权限;对于目录而言,具有进入目录的权限
  4. "”表示不具有该项权限

注意:拥有的权限对应位置是固定的,从左到右分别是,r,w,x。若对应位置没有该项权限,则用-表示。

3. 文件权限值的表示方法

  1. 字符表示法
      字符表示法就如上图所示。
Linux表示说明Linux表示说明
r--只读-wx可写可执行
-w-只写r-x可读可执行
--x仅可执行rwx可读可写可执行
rw-可读可写---无任何权限
  1. 8进制数字表示法
权限符号八进制二进制
r--4100
-w-2010
--x1001
rw-6110
r-x5101
-wx3011
rwx7111
---0000

总结:
我们上方所讲的文件的权限用下图总结表示出,这样更加清晰:
在这里插入图片描述

三、文件访问权限的相关设置方法

修改文件的权限分为两种,一是修改文件的读写执行属性,二是修改文件的拥有者和所属组。先看第一种:

1. chmod

chmod可以针对三种访问者修改文件的读写执行权限

说明:只有文件的拥有者和root用户才可以改变文件的权限

chmod命令修改文件权限值的格式

① 用户表示符 +/-/= 权限字符

+:增加权限
-:取消权限
=:赋予权限 - - 相当于赋值,会覆盖其他权限

用户符号:
u:拥有者
g:所属组
o:其它用户
a:所有用户

具体如下:

# u表示拥有者user
[wyt@VM-20-4-centos lesson3]$ chmod u+x test.c  #给拥有者添加执行权限
[wyt@VM-20-4-centos lesson3]$ chmod u-w test.c  #给拥有者取消写权限
[wyt@VM-20-4-centos lesson3]$ chmod u=r test.c  #给拥有者赋予读权限
# g表示所属组group
[wyt@VM-20-4-centos lesson3]$ chmod g+w test.c  # 给所属组添加写权限
[wyt@VM-20-4-centos lesson3]$ chmod g-r test.c  # 给所属组取消读权限
[wyt@VM-20-4-centos lesson3]$ chmod g=x test.c  # 给所属组赋予执行权限
# o表示其他人other
[wyt@VM-20-4-centos lesson3]$ chmod o+w test.c  # 给其他用户添加写权限
[wyt@VM-20-4-centos lesson3]$ chmod o-r test.c  # 给其他用户取消读权限
[wyt@VM-20-4-centos lesson3]$ chmod o=x test.c  # 给其他用户赋予执行权限

执行效果如图(只列举其一):
在这里插入图片描述

chmod 支持连续修改多个访问者的权限,也支持连续修改单个访问者的多个权限,也支持连续修改多个访问者的多个权限,也支持连续操作多个文件。
在这里插入图片描述

②使用八进制方法修改权限
在这里插入图片描述

  说明:

[wyt@VM-20-4-centos lesson3]$ chmod 000 test.c  # 权限值为0也就是---
[wyt@VM-20-4-centos lesson3]$ chmod u-rwx,g-rwx,o-rwx test.c  #这两种写法是一致的

[wyt@VM-20-4-centos lesson3]$ chmod 664 test.c  #权限值为664也就是rw-rw-r--
[wyt@VM-20-4-centos lesson3]$ chmod u+rw,g+rw,o+r test.c  #这两种写法是一致的

2. chown

chown 可用于修改文件的拥有者,也可以将文件拥有者和所属组一同修改

格式: chown 用户名 文件名

示例1: 修改文件拥有者
在这里插入图片描述
可以看出,文件是不能随便更改所有者给别的用户的,即使是文件所有者也不行

那如何进行修改呢?
我们在本文最初就讲过,root用户是超级管理员用户,它是不受权限的约束的,我们在上一篇也学过一条指令sudo命令,可以暂时提权,所以修改方式如下:

在这里插入图片描述
示例2: 一同修改文件拥有者和所属组
在这里插入图片描述

3. chgrp

chgrp 则是用于修改文件的所属组
格式: chgrp 用户组名 文件名

示例:
在这里插入图片描述

4. umask(重点)

为什么我们创建的目录或者普通文件,默认权限就是 我们所看到的样子呢?比如:
在这里插入图片描述

其实在Linux中规定

  • 目录的起始权限是:777
  • 普通文件的起始权限是:666

但我们所看到的权限也不是777和666呀,这是为什么呢?

其实在系统中还有一个umask:叫做权限掩码
在这里插入图片描述
我们只需要关注后面三个数字即可,第一个数字不需要关心。

系统默认会配置好umask 权限掩码:

  • 超级用户默认掩码值为0022
  • 普通用户默认为0002

说这么多,那权限掩码和我们创建的文件权限有什么关系呢,有什么功能呢?

权限掩码:凡是在umask中出现的权限,都必须在起始权限中去掉

就拿我们上面创建的目录和文件举例:
在这里插入图片描述

我们除了可以查看umask权限掩码的值,还可以进行修改:

# umask //查看
# umask 044//设置

示例1:
在这里插入图片描述
示例2:
在这里插入图片描述

讲了这么多,上述也列举了例子,那这到底是如何计算的呢?是用减法吗?----不是!

计算方法如下:
在这里插入图片描述
示例: 拿普通文件举例
在这里插入图片描述
与实际结果也一致:
在这里插入图片描述

四、file指令

功能说明:辨识文件类型
语法:file [选项] 文件或目录.
常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

在这里插入图片描述

五、目录的权限

经过上面的讲解,普通文件的读写执行分别代表着什么含义,这对于我们来说是很明确的。但目录的读写执行分别又代表什么意义呢?与普通文件有什么不同呢?

目录下的三种权限

  • 可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容
  • 可写权限(w): 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件

示例1: 去掉目录的可执行权限,观察是否可以进入目录
在这里插入图片描述

示例2: 去掉目录的可读权限,看是否可以ls该目录查看它下面的文件

在这里插入图片描述

示例3: 去掉目录的可写权限,看是否可以在该目录下创建或删除文件
在这里插入图片描述

粘滞位

Linux系统中有很多人,当我们需要在一个公共的目录下,进行临时文件的操作(增删查改)

根据目录的权限规定,只要用户对目录具有写权限,那么目录内的他人所创建的文件,用户不经他人同意也可以删除。
所以让一个公共目录,大家可以各自进行rwx操作,但是,禁止大家互删对方文件!我们可以给目录设置粘滞位(权限的一种特殊情况)

当一个目录被设置粘滞位时,该目录只能被三种用户删除:

  • 超级用户root
  • 用户所有者
  • 用户所属组

Linux系统根目录下默认有一个公共目录:tmp
在这里插入图片描述

注意:设置粘滞位,需要用root用户来设置,普通用户不能设置。
在这里插入图片描述
注意,粘滞位是对目录进行修改的,对目录下的所有文件生效

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

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

相关文章

从 12K 到 60K, 这 2023Java 研发必问高级面试题,过关斩将拿 offer

前言 学习某一门技术或者框架的时候,第一步当然是要了解下面这几样东西。 是什么? 有哪些特点? 有哪些应用场景? 有哪些成功使用的案例? … 为了让你更好地了解 Netty 以及它诞生的原因,先从传统的网…

R语言中实现马尔可夫链蒙特卡罗MCMC模型

什么是MCMC,什么时候使用它? MCMC只是一个从分布抽样的算法。 这只是众多算法之一。这个术语代表“马尔可夫链蒙特卡洛”,因为它是一种使用“马尔可夫链”(我们将在后面讨论)的“蒙特卡罗”(即随机&#…

区间信息维护与查询【树状数组 】 - 原理1 一维树状数组

区间信息维护与查询【树状数组 】 - 原理1 一维树状数组 【原理1】 一维树状数组 有一个包含n 个数的数列2, 7, 1, 12, 5, 9 …,请计算前i 个数的和值,即前缀和sum[i ]a [1]a [2]…a [i ](i 1, 2, …, n)。该怎么计算呢&#xf…

RISC-V入门(基础概念+汇编部分) 基于 汪辰老师的视频笔记

RISC-V入门 [完结] 循序渐进,学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春 RISC-V 部分作业答案 参考 RISC-V ISA 基本介绍 历史简介 自由(Free)与开放(Open) RISC-V 念作 “risk-five”,代表着Berke…

JSON.stringify() / JSON.parse() / JSON 真是个好东西

目录 1. JSON 基本概念 1.1 JavaScript 对象表示法 1.2 JSON 文件 1.3 JSON 语法 2. XML VS JSON 2.1 共同点 2.2 不同点 2.3 使用步骤对比 3. JSON.parse() 3.1 使用介绍 3.2 使用 reviver 参数,将 JSON 对象解析出来的 string 转化为 Date 4. JSON.st…

【ML特征工程】第 4 章 :特征缩放的影响:从词袋到 Tf-Idf

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【知识网络分析】耦合网络(bibliographic coupling)

耦合网络(bibliographic coupling) 1 读取本地文献并构建耦合网络数据集2 网络数据集精简3 中心点附近网络子群绘制4 求解网络图中节点中心度相关指标数值1 读取本地文献并构建耦合网络数据集 新建一个notebook文件,第一步导入功能包和数据集,案例中仍使用2020-2021年WOS数…

第八章《Java高级语法》第2节:补码

在Java语言中,使用补码的形式来表示数字。补码是计算机表示数字的一种规则或者是表示形式,它的算法很简单:用最左边的一个二进制位表示数字的正负,0表示正数,用1表示负数,专业上把表示符号的这个二进制位叫做“符号位”。符号位后面剩余的二进制位表示数字本身。 对于正…

PyQt5 QWebEngineView网页交互

QWebEngineView网页交互QWebEngineView常用方法加载并显示外部的Web页面加载并显示本地的Web页面加载并显示嵌入的HTML代码QWebEngineView常用方法 方法描述load(QUrl url)加载指定的URL并显示setHtml(QString &html)将网页视图的内容设置为指定的HTML内容 核心代码&#…

chapter2——时钟和复位

目录1.同步设计2.推荐的设计技术3.时钟方案4.门控时钟方法学5.复位信号的设计策略6.控制时钟偏移1.同步设计 在同步设计中由单个主时钟和单个主置位/复位信号驱动设计中所有的时序器件,对于ASIC的时钟域控制最安全的方法就是同步设计。 避免使用行波计数器 由于第…

Python 实现自动化测试 dubbo 协议接口

前言 在工作或学习过程中,可能会遇到后端服务里有使用 dubbo 协议实现的接口,dubbo 协议接口的测试方法不同于 http/https 类型的接口,不能简单使用request.post的方法来完成自动化测试。 如果需要对 dubbo 协议的接口进行自动化测试&#…

FFmpeg进阶:生成视频的缩略图

文章目录1.读取对应位置的视频帧2.添加时间信息3.对图像进行拼接4.输出拼接图像5.显示效果很多时候为了方便预览视频内容,我们会随机的抽取视频当中的一些帧组成一个图片作为视频的缩略图。这里介绍一下如何通过FFmpeg生成视频的缩略图。其实原理很简单,…

MyBatis association解决多对一和collection解决一对多的映射关系

多对一的映射关系 创建Emp和Dept类 1.处理多对一映射关系方式一:级联属性赋值 2.处理多对一映射关系方式二:association实现 association:处理多对一的映射关系 property:需要处理多对的映射关系的属性名 javaType:该属性的类型 3.处理多对一映射关…

Metabase学习教程:视图-6

表格视图几乎可以来做所有的事情 了解如何设置条件格式、小条形图、值格式等。 表格是数据的自然栖息地,对应关系数据库列和对应的行记录。它们可能不像条形图或者地图,但当你在很多领域工作时,它们往往是你所需要的。Metabase中的表可视化…

运动品牌推荐:2022年最值得入手的一些运动装备

运动是一个比较枯燥的过程,不断的身体重复,会让运动者的注意力过度的关注到自己身体的疲惫感并且放大,这个时候我们就可以通过外在的运动装备来消除这些疲劳感,提高自己的运动积极性。不过哪些运动装备好用并适合自己呢&#xff1…

服务器配置怎么查看

服务器配置怎么查看 在我们找服务器商买服务器时,一般都是根据自己需求来选择需要什么配置的服务器。 选服务器时主要看CPU、内存、硬盘、带宽、这几个主要配置今天艾西就教你怎么查看服务器配置 CPU、内存怎么查看: 方法一:我们远程进入服…

学术Paper写作技巧要点讲解

在国外图书馆阅读他人的学术文章的时候,是否发现他们英文与你的不一样?虽然他们的Paper与你的有相似的结构,即开头、正文、结论,但是你的写作与他们的比起来还是显得简单多了。就是类似于国内毕业Paper的写作,在国外学…

断点续传小解

断点续传的原理 HTTP 协议是互联网上应用最广泛网络传输协议之一,它基于 TCP/IP 通信协议来传递数据。断点续传的奥秘就隐藏在这 HTTP 协议中了。 我们知道HTTP请求会有一个Request header 和 Response header,在请求头里边有个和Range相关的参数 当下…

6种交互式内容创意帮助跨境电商卖家提高独立站商店知名度

关键词:跨境电商卖家、独立站商店 交互式内容是一种允许用户与之交互的内容。一些示例包括在线投票、问答环节、交互式视频和交互式计算器等交互式工具。此内容类型允许查看者通过单击或拖动项目来自定义显示方式和内容。内容还可以引导读者采取您想要的操作&#x…

【网络安全】——sql注入之云锁bypass

作者名:Demo不是emo 主页面链接:主页传送门创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座右…