【Linux】权限详解

发布时间:2024年01月16日

权限是什么呢?
通过一定条件,拦住一部分人,给另一部分人权利来访问某种资源

权限的本质:
权限与人有关:比如你要进你的学校是要看你是个人吗,重要的是看的是你是不是学校内学生,即你的角色
当然也和事物的属性有关:比如你能在爱奇艺刷题吗,能在力扣看电影吗?

既然与人和事物的属性有关,那我们就从这两点进行展开。

人对应Linux的用户,
事物对应Linux的文件

Linux的用户:

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

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

root与普通用户的切换:

既然有两种用户,那么也会存在两者之间如何相互切换的问题。
我们可以通过命令进行切换

命令:su [用户名]
功能:切换用户。

例如

  • 要从root用户切换到普通用户user,则使用 su user。
    在这里插入图片描述

  • 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码
    在这里插入图片描述

那么有没有不变成root却有root权利的办法呢?
答案是确定的。
我们可以通过sudo指令提权进行权限升级,但是需要额外的yum


Linux用户在文件中的体现:

Linux有三种角色,分别为:拥有者 所属组 other
在这里插入图片描述

可以看到我们创建了一个文件,
现在告诉你第一个cyc是这个文件的拥有者
第二个cyc是这个文件的所属组

这里你可能又会困惑,所属组是什么呢?
所属组是为了在多人协作时进行更细腻的管理而衍生出,在特定条件下有优势

那么other呢,除了拥有者与所属组之外的都是other

现在你可能又会有疑问,你刚刚说Linux有两种人,现在又说有三种角色,不是很矛盾吗?
恰恰相反,他们是相互补充的概念,
角色是由人来扮演的,
一个普通用户即有可能是一个文件的拥有者,也有可能是另一个文件的other


Linux中的文件:

在这里插入图片描述
关于这两个文件的对比,在红箭头的地方,表示的是其文件类型,有很多种,我们只需稍微了解一下即可

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

但是我们现在需要知道两种:
第一个是d,为目录文件
第二个是-,为普通文件

剩下的9个字符是什么呢在这里插入图片描述

我们提到过Linux有三种角色,这9个字符三三一组
分别为

拥有者的一组,所属组的一组,其他人的一组

那么每一组的字符又代表什么呢?
在这里插入图片描述
如果为-,即代表没有相对应的权限

修改文件权限:

  1. 需要指令chmod进行操作

文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户:o—Others

用法:在这里插入图片描述

chmod u+-rwx,g+-rwx,o+-rwx filename

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


  1. 需要chownchgrp指令

功能:修改文件的拥有者与所属组

用法:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d684b564545e4698a60eba3383e9da49.png

但是我们进行操作时没权限,因为不能强制吧文件给别人,除非你是root,所以在操作时要进行指令提权,即sudo在这里插入图片描述

对目录权限的理解:

我们说Linux中一切皆文件,那么目录也是文件
目录也会有那10个字符(最左边的)
在这里插入图片描述
那么目录所对应的rwx的功能是什么呢?

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

这样也会衍生出一个问题,如果除了拥有者,别人也有w权限,就可以随意删除你目录下的文件了,这显然是有问题的

故我们引出一个粘滞位的概念
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除


关于权限的总结:

  • 目录的可执行权限是表示你可否在目录下执行命令。
  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
  • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
文章来源:https://blog.csdn.net/2301_78636079/article/details/135634700
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。