Linux系统的文件权限

news2024/11/25 16:33:41

Linux系统权限的相关概念与理解
(xshell下进行演示)

文章目录:

1:linux系统下两种用户

  • 超级用户(root)与普通用户(非root)的理解
  • root与非root用户之间切换的指令
  • 非root用户之间进行切换的指令操作

2:linux文件权限管理

  • 文件访问者的介绍
  • 文件的类型与文件的访问权限介绍
  • 如何对文件的访问权限进行修改(两种方式)
  • 如何对文件的所属用户进行修改

3:目录文件的理解(rwx)

4:umask(权限掩码的理解)

5:粘滞位的理解


1:Linux系统下的两种用户
在我们Linux系统中,分为两种用户  一种是root用户(超级用户),另一种是非root用户(普通用户)。
而为什么会有这两种用户呢?这其实是与Linux系统的权限有关的。
在Linux系统中权限是用来限制普通用户的,对于root用户来说权限可能限制不大,换言之在root面
前权限就如同虚设。

接下来我们就来讲一讲,root与普通用户普通用户与普通用户之间如何进行切换
root->普通用户:su 普通用户 不需要任何密码
普通用户->root:su 或 su - 需要root账号的密码
如下图在xshell下演示
在这里插入图片描述
我们可以看到需要root账号的密码才能登上root


我们在来看另外一种情况 su -
在这里插入图片描述


我们在来看root->普通用户
指令 su 普通用户名
在这里插入图片描述
普通用户与普通用户之间的切换
su 要登录的普通用户 需要对方的密码


我们还需要了解一个特殊的指令 : ,sudo 指令 这个sudo会进行短暂的提权,需要使用者的密码 ,这样我们就可以不用改成root账号了。
与此同时我们既然有了sudo 这个提权的操作指令,那我们还需要root账号吗??
答案:我们肯定是需要root账号的,因为并不是所有的普通用户都能够使用sudo指令,这个指令的使用权限也需要root来进行设置,而这个设置其实是在我们系统中一个文件中。
如下图所展示的地方:
在这里插入图片描述

也就是说如果一个用户存在与这个文件中则可以使用sudo 进行提权,如果不存在则不能。
而如何增加,等我们学完vim在进行操作。


2:linux文件权限管理

我们知道在Linux系统下一切皆文件,所以对Linux系统权限的理解,我们就只需要弄懂文件的权限
概念就行了。
文件的权限使用来限制人的

文件访问者的介绍:
    我们先通过具体的列子来进行对知识点的讲解。对文件属性的查看我们要通过 ll的指令

在这里插入图片描述

在Linux系统中我们将文件的访问者分为三种角色即:拥有者,所属组和other
但是在linux系统中使用ll的指令的时候并没有显示出来other这是因为Linux规定,如果你不是文件
的拥有者,不是文件的所属组那么你就是other这个角色所以上图才没有other。

讲完了文件的三种角色之后我们就需要在想一想了,这三种角色与我们的root用户和非root用户有什么区别呢?

	我们可以这样来理解,Linux系统下的每个用户,都是用来充当上述这三种角色的,比如说张三这
	个	用户,对于张三来说既可以成为某个文件的拥有者,也可以成为某个文件的所属组或者other
	所以他们并不冲突,相反他们是互相配合的。

有了上面的理解后,对于我们来说这三种角色,对于文件的拥有者,other我们可能可以理解。但是什么是文件的所属组呢??以及为什么要存在文件的所属组呢?

我们可以假设我们一个文件只有拥有者和other这两种角色,那么当两个具有相互竞争的人来说,假如一个人是张三,一个人是李四。张三创建了一个文件,那么张三就是这个文件的拥有者,那么李四和其他人都是other,可是当有一天张三的老板需要打开这个文件,可是老板也属于other那么老板也不能进行访问,而张三如果打开了other的访问权限那么李四也可以进行访问,这样就会出现很大的问题,所以Linux系统为了解决这个问题就加上了另外的一个角色所属组,这样就能防止上述问题出现了。

所以我们可以这样理解,文件的所属组就是类似于我们生活中的分组,将谁和谁拉在一起这样可以使得在这个组中的人都可以对文件进行访问,不在这个组中就不能对文件进行访问。
所以我们需要所属组这个概念,一般而言Linux系统默认的所属组组名就为文件的拥有者名字。


文件的类型与文件的访问权限介绍

我们先来查看文件的属性(rwx)
在这里插入图片描述

其中对于我们的文件访问权限的查看,就是在第一列,而第一列的后面9个字符是用来分别表示拥有者,所属组和other的对文件的读写执行权限(rwx),我们要注意的是如果在rwx对应的位置是-字符则代表没有这个权限。

我们就用拥有者的权限来进行讲解,比如上述11-25这个目录,我们的拥有者是root,具有对文件的rwx权限,表明我们root这个用户对文件具有可读可写可执行的权利。
对于other来说没有w权限,既没有写权限。
对于第一列的字符我们将他作为表示文件类型的字符。
在Linux系统下有以下几种表示
1 - :代表该文件为普通文件,文本,源代码,图片,视频,库文件
2. d :代表该文件为目录文件
3. b :代表该文件为 块设备文件(一般为磁盘文件) 允许随机访问的文件
4. c :代表该文件为 字符设备文件(一般为键盘.显示器文件) 不允许随机访问的文件
5. p :管道文件
6. l :链接文件
7. s :socket文件
这些我们以后看到了知道就行了。

在linux系统环境下,我们不同过文件的后缀来区分文件的类型,因为由第一个字符来确定,但是这不
代表我们不给文件加后缀,加后缀有以下优点:

1.我们的一些编译工具需要,只能对特定的文件后缀编译比如gcc
2.我们人需要,这样可以增加可读性

如何对文件的权限修改(两种方式)

我们先要了解,在Linux系统中我们会进行一下简写将 user->u | group -g | other->o

  1. 使用chmod 改的角色 +(-) rwx 权限
    如下图对xshell中文件进行修改对应的权限
    在这里插入图片描述
    我们可以看到对于1.txt这个文件来说他的所属组和other只有读权限,而我们经过了chmod指令过后,最后1.txt对于所属组和other都具有了rwx权限,当然我们如果将上述的指令的+改为-那么意思是去掉对应的权限,这里就不给大家演示了。

    当然我们如果需要对所有的角色加上对应的权限我们可以这样使用指令
    chmod a+(-) rwx 文件名 如下图
    在这里插入图片描述
    如果我们需要同时对不同的访问者加上对应的权限我们可以使用,来分离。如下图
    在这里插入图片描述
    第一种方式就介绍到这里就结束了。


2.chmod 3个八进制数字 文件名

这个方式是我们可以将rwx用三个数字来表示,如果存在对应的权限那么某个特定的位置就是1如果不存在则该位为0 比如说拥有者的权限为 r-- 那么转化成我二进制数字就为1 0 0对应的八进制就为4,再比如rw- —>对应二进制1 1 0 八进制为6.

我们直接用实际列子来证明这个方法的使用
在这里插入图片描述
大家可以自行去验证
以上就是文件权限修改的两种方法的介绍了。

关于一个Linux文件可不可以执行的理解
1.先看该文件是否具有可执行的权限x
2.该文件是否真的是一个可执行的程序
这两者是缺一不可的


3:目录文件权限(rwx)的理解

Linux系统对于用户文件匹配权限的步骤:
首先先判断该用户属于那个角色
其次是直接看是否具有相对应的权限,不会进行多次匹配,使用不同角色的权限

1.通过控制变量法,我们发现进入一个目录我们需要具备该目录的x权限
2.r权限决定我们是否可以对文件属性进行查看权限
3.w权限决定我们是否可以在该文件下创建文件或者删除文件的权限
以上就是目录权限理解的结论,大家可以自行的去验证。

从这里我们也可以得出一个结论,一个文件的删除并不由是否可以对该文件读写执行所决定而是由该文件所在的目录所对应的w权限所决定的


4:权限掩码umask的理解

在讲权限掩码之前,我们就还得引入一个东西—>文件的起始权限
文件的权限就拿我们的文本文件来说,他创建的起始权限是666因为创建出来就不是为了被执行所创建的文件所以无可执行权限
目录的起始权限为777,因为目录创建下来就是为了被进入(x),可以显示该目录下的文件属性信息( r ),以及可以在该目录下创建文件与删除文件(w)


我们要知道最终我们所看到我们创建出来的文件默认权限是由:权限掩码与起始权限所决定的。

而权限掩码的规则是:从起始权限中去掉权限掩码中所含有的权限位。如下图
在这里插入图片描述

如果起始权限就为0了,而默认权限所对应的地方为1,那么啥都不会做,就为0
如果关于这个去除没有听懂的话,那么一下还有一个关于默认权限的公式:
在这里插入图片描述
我们在系统中还可以直接使用 umask 八进制数字(3个) 来设定我们的umask值


5:粘滞位的理解

在讲了上述知识点之后我们需要再来讲解一个非常重要的概念,粘滞位。
粘滞位的使用经常用于,对于指定的目录,我们要进行文件的共享。
比如说假如我们在同一个具有rwx目录下进行文件的共享,因为我们可以修改文件所对应的
权限,我们即使将rwx权限全部所去掉了,可是我们也不能防止我们的文件被删除,因为我们共享的时候对目录每个人都是具有w权限的,这样就会导致我们可以删除别人的文件,所以为了防止这一事故的发生,Linux就引入了粘滞位这一个概念。

粘滞位:是给共享目录所增加的权限,该权限具有x的权限,同时对该目录有特殊的规定,
在该目录中的文件只能由root和文件的拥有者有权进行删除

我们通过查看linux系统上默认就有的共享目录的属性:
在这里插入图片描述


本章知识点的介绍到这里就结束了,感谢大家的耐心观看!!!!

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

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

相关文章

【SAS Planet 下载地图瓦片-读取】

SAS Planet下载地图瓦片请看上一篇 详细介绍了下载方法 【SAS Planet 下载地图瓦片】-CSDN博客 准备工作: 1.提前下载好地图瓦片数据 SAS Planet下载地图瓦片默认存储路径如下 默认存储格式为 .sqlitedb 2.提前准备好 java开发环境和开发工具,新建 一个…

Linux的基本指令(三)

目录 前言 echo指令&#xff08;简述&#xff09; Linux的设计理念 输出重定向操作符 > 追加输出重定向操作符 >> 输入重定向操作符 < 补充知识 学前补充 more指令 less指令 head指令 tail指令 查看文件中间的内容 利用输出重定向实现 利用管道“ |…

在Linux环境如何启动和redis数据库?

Linux中连接redis数据库&#xff1a; 前台启动&#xff1a; 第一步&#xff1a;redis-server:服务器启动命令 当我们启动改窗口后&#xff0c;出现如下所示&#xff1a; 该窗口就不能关闭&#xff0c;否则会出现redis无法使用的情况&#xff0c;重新打开一个窗口&#xff0c…

每日一题2023.11.26——打印沙漏【PTA】

题目要求&#xff1a; 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”&#xff0c;要求按下列格式打印 ************ *****所谓“沙漏形状”&#xff0c;是指每行输出奇数个符号&#xff1b;各行符号中心对齐&#xff1b;相邻两行符号数差2&#xff1b;…

数据结构—树

文章目录 9.树(1).树的基本概念#1.基本定义#2.树的广义表表示法#3.基本术语 (2).树的存储结构#1.标准形式(常用)#2.逆存储形式#3.孩子兄弟存储法 (3).并查集#1.我们到底想解决什么问题#2.并查集结点#2.Find(查)#3.Union(并)#4.例子 (4).树的遍历#1.前序遍历#2.后序遍历#3.遍历的…

[Linux]进程等待

文章目录 3.进程等待3.1什么是进程等待3.2为什么要进程等待3.3如何进行进程等待?1.wait2.waitpid2.1函数的讲解2.2status的理解2.3代码理解 3.4学后而思1.直接用全局变量获取子进程退出码可以吗?如下2.进程具有独立性 退出码是子进程的数据 父进程是如何拿到退出码的3.对内存…

3DCAT为华东师大设计学院打造元宇宙数字虚拟学院

6月11日&#xff0c;华东师范大学设计学院在chi K11美术馆举办了一场别开生面的 2023 年本科毕业设计暨项目实践教学现场演示展。其中&#xff0c;元宇宙数字虚拟学院&#xff08;一期&#xff09;的现场发布会引起了现场震撼&#xff0c;吸引了众多观众的目光和参与。 该元宇宙…

CSS清除浮动的八种方法

我们为什么需要清除浮动&#xff0c;如果我们不清除浮动会发生什么呢&#xff1f; 基础样式&#xff0c;没清除浮动之前代码&#xff1a; 可复制也可以自己手动布局&#xff0c;后可尝试使用下面介绍的方法练习清除浮动 <!DOCTYPE html> <html lang"en">…

Python中的下划线使用教程:单下划线、双下划线和头尾双下划线详解

概要 Python是一种简单、易学、功能强大的编程语言&#xff0c;被广泛应用于各种领域。在Python中&#xff0c;下划线的使用有其特殊的含义和用途。本文将详细介绍Python中的单下划线、双下划线和头尾双下划线的使用教程&#xff0c;帮助读者更好地理解和应用这些特性。 一、单…

如何在Ubuntu系统上安装YApi

简单介绍 YApi是高效、易用、功能强大的api管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护API&#xff0c;YApi还为用户提供了优秀的交互体验&#xff0c;开发人员只需利用平台提供的接口数据写入工具以及简单的…

会声会影2024中文旗舰版配置最低要求及会声会影2024旗舰版新增哪些新功能?

会声会影&#xff08;Corel VideoStudio&#xff09;2024旗舰版为加拿大Corel公司发布的一款功能丰富的视频编辑软件。会声会影2024简单易用&#xff0c;具有史无前例的强大功能&#xff0c;拖放式标题、转场、覆叠和滤镜&#xff0c;色彩分级、动态分屏视频和新增强的遮罩创建…

什么是客户自助服务?综合指南献上~

《哈佛商业评论》曾报道过&#xff0c;81%的消费者在找客服之前会自己先去找办法解决。 如今&#xff0c;客户希望得到更快的响应。他们不想排队去等信息。他们想要的只是一个更快、更可靠的自助服务解决方案。作为企业&#xff0c;应该注意到他们的期望。企业需要做的就是通过…

Vite -构建优化 - 分包策略 + 打包压缩

什么是分包策略 分包策略 就是把不会常规更新的文件&#xff0c;单独打包处理。问 &#xff1a;什么是不会常规更新的文件&#xff1f; 答 &#xff1a; 就是基本上不会改的文件&#xff0c;比如我们引入的第三方的依赖包&#xff0c;例如 lodash工具包&#xff0c;这些工具包…

Gee教程2.上下文Context

先来看看Gin框架的简单例子 func main() {engine : gin.Default()engine.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "hello World!")})//监听并启动服务&#xff0c;默认 http://localhost:8080/engine.Run() }//我们自己写的 func main()…

PRD学习

产品经理零基础入门&#xff08;五&#xff09;产品需求文档PRD&#xff08;全16集&#xff09;_哔哩哔哩_bilibili 1. PRD的2种表现形式 ① RP格式 &#xff08;1&#xff09;全局说明 ② 文档格式 2. 交互说明撰写 ① 维度 ② 步骤 ③ 规则 &#xff08;1&#xff09;单位…

通达信视频教程的下载地址

百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/12yNV62ROERRzmyqm9u22aQ?pwdgmdx

Leetcode 1727. 具有重排的最大子矩阵

题目要求&#xff1a; 给定一个大小为 m x n 的二进制矩阵&#xff0c;并且允许您以任意顺序重新排列矩阵的列。 对列进行最佳重新排序后&#xff0c;返回矩阵中每个元素都为 1 的最大子矩阵的面积。 输入&#xff1a;矩阵 [[0,0,1],[1,1,1],[1,0,1]] 输出&#xff1a;4 说明…

2017年五一杯数学建模B题自媒体时代的消息传播问题解题全过程文档及程序

2017年五一杯数学建模 B题 自媒体时代的消息传播问题 原题再现 电视剧《人民的名义》中人物侯亮平说&#xff1a;“现在是自媒体时代&#xff0c;任何突发性事件几分钟就传播到全世界。”相对于传统媒体&#xff0c;以互联网技术为基础的自媒体以其信息传播的即时性、交往方式…

x大网校登录接口js逆向分析

网站&#xff1a; import base64 # 解码 result base64.b64decode(aHR0cHM6Ly91c2VyLndhbmd4aWFvLmNuL2xvZ2lu.encode(utf-8)) websiteresult.decode(utf-8) # print(result) print(website)思路&#xff1a; 模拟登录&#xff0c;得到token值&#xff0c;才能对内部数据进行…

【YOLOv5入门】目标检测

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍YOLOv5入门-目标检测的任务、性能指标、yolo算法基本思想、yolov5网络架构图。 后续会继续分享其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 上一篇…