Linux 严格意义上说的是一个操作系统,我们称之为 “ 核心( kernel ) “ ,但我们一般用户,不能直接使用 kernel.而是通过kernel 的 “ 外壳 ” 程序,也就是所谓的 shell ,来与 kernel 沟通。如何理解?为什么不能直接使用 kernel ?
从技术角度, Shell 的最简单定义:命令行解释器( command Interpreter )主要包含:

这里还有一个小故事可以帮助uu们理解
帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的美女小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash.
Linux下有两种用户:超级用户(root)、普通用户

每次切换用户时,首先进入的是用户的家目录.

Linux具有组的概念,主要是在多人协作的时候更好地进行权限管理.
文件的属性权限,一般就只三种


PS:只有文件的拥有者和root才能改变文件的权限.




对于普通用户,自身要受到权限的约束,即使这个文件是自己的.root用户是不受权限的控制的.







字母 | 文件类型 |
|---|---|
d | 目录文件 |
- | 普通文件(文本文件,可执行程序,库等) |
b | 块设备文件(硬盘,光驱) |
c | 字符设备文件(显示器(往显示器上显示的都是字符) |
p | 管道文件 |
l | 链接文件(Windows的快捷方式) |
s | 套接口文件 |
Linux中不通过后缀区分文件类型(不代表Linux不使用文件后缀).而是通过ls -l的第一个属性列来进行区分

进入一个目录需要x权限.

目录的r权限:决定了用户是否能查看指定目录内的文件信息.

目录的w权限:决定了用户是否能在指定的目录内新建,修改,删除文件.

文件 = 内容 + 属性;对于目录文件 ,这里的内容指的是该目录里面的所有文件信息的详情
删除一个文件和目标文件有关系么??没关系,和用户所在目录有关系.

若想在Linux下,由多个用户建立一个共享文件,想被大家访问,那么这个文件首先不能在各自的家目录下建立(因为每个用户的家目录只给拥有者放开了权限),因此只能够在系统的非用户目录下建立
学习了目录文件的权限后,有的uu就会提出下面这个疑问: 只要 用户具有目录的写权限 , 用户就可以 删除目录中的文件 , 而 不论这个用户是否有这个文件的写权限 . 但是不太科学啊, 我张三创建的一个文件 , 凭什么被你李四可以删掉 ? 我们用下面的过程印证一下.

为了解决上述这个不科学的问题,Linux通过引入粘滞位的概念.
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由


Linux中创建文件的时候,有默认的权限
实际创建出来的文件,还要受到umask码(Linux中的默认权掩码)的影响即创建文件的时候,要从起始权限过滤掉(不是减去)在umask码中出现的权限.实际的权限 = 默认权限 & ~umask.

好啦,家人们,关于Linux权限实现这块的相关细节知识,博主就讲到这里了,如果uu们觉得博主讲的不错的话,请动动你们滴滴的小手给博主点个赞,你们滴鼓励将成为博主源源不断滴动力.