【Linux】权限详解

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

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

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

人对应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命令,但仍然没有权限读出目录下的文档。
  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 权限管理是 Linux 操作系统中非常重要的一部分,它控制着用户对文件和目录的访问权限。在 Linux 中,每个文件和目录都有三种基本权限:读取(r)、写入(w)和执行(x)。这些权限可以分别应用于文件所有者、文件所属组和其他用户,以控制不同用户对文件和目录的访问和使用。 文件权限的表示方法 Linux 中,文件权限是用一串数字来表示的,每个数字代表一种权限。其中,第一位表示文件所有者的权限,第二位表示文件所属组的权限,第三位表示其他用户的权限。每个数字的含义如下: - 0:没有权限 - 1:执行权限 - 2:写入权限 - 3:写入和执行权限 - 4:读取权限 - 5:读取和执行权限 - 6:读取和写入权限 - 7:读取、写入和执行权限 例如,文件权限为“rw-r--r--”,表示文件所有者具有读取和写入权限,文件所属组和其他用户只有读取权限。 文件权限的修改方法 在 Linux 中,可以使用 chmod 命令来修改文件权限。chmod 命令的基本语法如下: ``` chmod [选项] 模式 文件名 ``` 其中,选项包括: - -c:只在文件权限确实发生了改变的情况下,输出修改信息。 - -f:不显示错误信息。 - -v:显示每个文件的修改信息。 模式是一种用数字表示的文件权限,可以使用以下方法进行计算: - r=4,w=2,x=1 - 所有者权限的值 = rwx 的数字值 - 组权限的值 = rwx 的数字值 - 其他用户权限的值 = rwx 的数字值 例如,要将文件的所有者设置为可读写,组用户设置为只读,其他用户设置为只执行,可以使用以下命令: ``` chmod 754 filename ``` 其中,7 表示所有者具有读、写和执行权限;5 表示组用户具有读和执行权限;4 表示其他用户具有只读权限。 除了 chmod 命令,Linux 还提供了一些其他工具来管理权限,如 chown 和 chgrp 命令用于更改文件的所有者和所属组,setuid 和 setgid 位可以设置进程的权限等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值