权限是什么呢?
通过一定条件,拦住一部分人,给另一部分人权利来访问某种资源
权限的本质:
权限与人有关:比如你要进你的学校是要看你是个人吗,重要的是看的是你是不是学校内学生,即你的角色
当然也和事物的属性有关:比如你能在爱奇艺刷题吗,能在力扣看电影吗?
既然与人和事物的属性有关,那我们就从这两点进行展开。
人对应Linux的用户,
事物对应Linux的文件
Linux下有两种用户:超级用户(root)、普通用户。
#
”,普通用户的命令提示符是“$
”。既然有两种用户,那么也会存在两者之间如何相互切换的问题。
我们可以通过命令进行切换
命令:su [用户名]
功能:切换用户。
例如
要从root用户切换到普通用户user,则使用 su user。
要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。
那么有没有不变成root却有root权利的办法呢?
答案是确定的。
我们可以通过sudo
指令提权进行权限升级,但是需要额外的yum
Linux有三种角色,分别为:拥有者 所属组 other
可以看到我们创建了一个文件,
现在告诉你第一个cyc
是这个文件的拥有者
第二个cyc
是这个文件的所属组
这里你可能又会困惑,所属组是什么呢?
所属组是为了在多人协作时进行更细腻的管理而衍生出,在特定条件下有优势
那么other
呢,除了拥有者与所属组之外的都是other
现在你可能又会有疑问,你刚刚说Linux有两种人,现在又说有三种角色,不是很矛盾吗?
恰恰相反,他们是相互补充的概念,
角色是由人来扮演的,
一个普通用户即有可能是一个文件的拥有者,也有可能是另一个文件的other
关于这两个文件的对比,在红箭头的地方,表示的是其文件类型,有很多种,我们只需稍微了解一下即可
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件
但是我们现在需要知道两种:
第一个是d
,为目录文件
第二个是-
,为普通文件
剩下的9个字符是什么呢
我们提到过Linux有三种角色,这9个字符三三一组
,
分别为
拥有者的一组,所属组的一组,其他人的一组
那么每一组的字符又代表什么呢?
如果为-
,即代表没有相对应的权限
chmod
进行操作文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户:o—Others
用法:
chmod u+-rwx,g+-rwx,o+-rwx filename
图片实例:
chown
与chgrp
指令功能:修改文件的拥有者与所属组
用法:
但是我们进行操作时没权限,因为不能强制吧文件给别人,除非你是root,所以在操作时要进行指令提权,即sudo
我们说Linux中一切皆文件,那么目录也是文件
目录也会有那10个字符(最左边的)
那么目录所对应的rwx
的功能是什么呢?
这样也会衍生出一个问题,如果除了拥有者,别人也有w
权限,就可以随意删除你目录下的文件了,这显然是有问题的
故我们引出一个粘滞位
的概念
当一个目录被设置为"粘滞位"(用chmod +t)
,则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
关于权限的总结: