Liunx权限详细介绍(保证你一看就懂!)

Linux权限

write in front

作者:@ 不进大厂不改名
专栏:@ Linux
作者简介:大一学生 希望能向其他大佬和同学学习!
本篇博客简介:Linux的权限,让你对Linux的理解更加深入,让你更安全地使用Linux。

1.shell命令以及运行原理

我的理解:Linux从广义上来说是一个操作系统,从狭义上说,它是一个核心或者内核(Kernel)。
官方介绍:Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。
而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
1.将使用者的命令翻译给核心(kernel)处理。
2.同时,将核心的处理结果翻译给使用者。

比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符或者运行起来一个应用程序)。

shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。如下图:

在这里插入图片描述
而我们通常使用的shell外壳具体有一个是bash

2.权限的概念

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

1.超级用户:可以在Linux系统下做任何事情,不受限制。
2.普通用户:Linux下做有限的事情。
3.超级用户的命令提示符是“#”,普通用户的提示符是“$”。
在这里插入图片描述
在这里插入图片描述

root用户变为普通用户或者从普通用户切换到其他用户

命令:su+[用户名]
然后输入你切换用户的密码

在这里插入图片描述
普通用户切换到root用户

命令:su -
然后输入root密码
在这里插入图片描述

如何短暂地提升普通用户地权限

我们用sudo加命令就可以了,但是这时一般要输入你的当前用户地的密码。
当然我们敲完后就会发现我们并未被添加到信任名单里,也就无法进行操作

在这里插入图片描述
如何添加信任关系

首先我们先要将权限提升到root,然后执行下面的命令。
vim /etc/sudoers
打开文档后找到100行左右的位置
接下来我们按照上面的格式,将要添加的用户名添加进去就行在这里插入图片描述

但是你们可能会遇到无法退出的问题,直接q!直接强制退出,类似于下面的问题
在这里插入图片描述

添加成功后就可以暂时提升权限上面的指令就可以使用了。

3.权限管理

文件访问者的分类

1.文件和文件目录的所有者:u(user)
2.文件和文件目录的所有者所在的组的用户:g(group)
3.其他用户:o(others)
文件访问者的分类

这里可能会有同学提出疑问这里的访问者和上面的用户是什么关系?
文件的访问者可以说是一种身份,而用户指的是具体的个人,所以现在就可以理解了,用户可以是上面中的一种或多种身份。即用户可以是所有者(u),也可以是所属组(g),也可以是其他用户(o)

文件类型的访问权限(事物属性)

1.是否可读
2.是否可写
3.是否可执行

这样组合出来就有8种情况了

字符表示
在这里插入图片描述

八进制表示

权限符号(读写执行)八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
- - -0000

敲出l l指令就可以显示出它们的类型和属性了

在这里插入图片描述
这一串字符的前十个我们可以分成三个部分:文件类型、三种身份具有的权限、以及所有者所属组的具体用户。
在这里插入图片描述
文件类型

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

文件访问权限的修改

我们一般在Linux中使用下面的命令可以修改文件的权限
chmod 选项 权限 文件名或目录名

这里要注意只有root才有修改权限的权力 如果普通用户想要实现这种操作,可以使用短暂提升权限的命令。
格式1:用户符号+/ -/ =权限字符(字符表示)
身份的符号如下:
1.u-拥有者
2.g-所属组
3.o-其他人
4.a-所有人
在这里插入图片描述

例如:这里将a.c拥有者的权限从可读可写变为无任何权限。

格式2:用户符号+/ -/ =权限字符(八进制表示)

在这里插入图片描述

修改文件的拥有者

命令格式:chown 选项 用户名 文件或者文件目录

这里需要注意的是只有root用户才有修改的权力,如果是普通用户,则需要暂时提升权限,而且如果想递归修改文件的拥有者则需要用-R选项(下面这个例子就把a.c的拥有者改为root了)

在这里插入图片描述
修改文件的所属组

命令格式:chgrp 选项 用户名 文件或目录名

在这里插入图片描述

当然这还有一种特殊的修改方式,当我们使用chown时用分号,这样就可以指定修改文件的拥有者和所属组了。(下面的例子同时修改了文件的拥有者和所属组

在这里插入图片描述

4.目录的权限

和文件一样,目录也有上面的三种权限

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

但是这样就会出现一个问题
只要用户具有目录的读写权限,用户就可以删除目录里的文件,而不论这个文件是否有这个文件的写权限(下面这个例子中d.c我们没有写权限,却能删除)

在这里插入图片描述
在这里插入图片描述

这样显然就很危险,于是Linux中引入了一个粘滞位的概念

粘滞位

它的命令格式如下:
chmod +t 目录名
一个目录被加上粘滞位后,就算我们拥有这个目录的写权限也无法删除了

在这里插入图片描述

others的最后一位变成t,此时不能再删除文件了。(这时不管你有没有文件的写权限都不能删除)
在这里插入图片描述

当一个目录被设置为粘滞位,则该目录下的文件只能由
1.超级管理员删除
2.该目录的所有者删除
3.该文件的所有者删除

5.权限的总结

目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值