0
点赞
收藏
分享

微信扫一扫

深入理解Flink Mailbox线程模型

萧萧雨潇潇 2023-08-19 阅读 39

在这里插入图片描述

Linux权限

1. 前言

Linux的内容是错综复杂的,是学不完的
专栏Linux从入门到开通只讲解
比较重要的知识以及面试常考的内容

本章重点:

在这里插入图片描述


2. shell命令以及运行原理

Linux操作系统严格来说是:
Linux内核+Linux外壳+配套程序

在这里插入图片描述
外壳也就是shell
那么为什么要存在外壳呢?
有两个原因:

  1. 命令行解释(充当媒婆)
  • 外壳程序将用户输入的指令解释后
    传递给内核
  • 内核执行命令后得到的结果经外壳
    处理后传递给用户
  1. 保护内核(充当保安)
  • 就像你暗恋的女生有男朋友了
    你还要媒婆帮你说媒

  • 这个请求会在媒婆这一阶段就驳回!

在这里插入图片描述

注:shell是对所有命令行解释器的统称

Linux下的shell外壳是bash
而windows下的shell外壳是
图形化界面


3. 普通用户与超级用户

一个Linux账号只有一个超级用户:
root
创建的其余用户都叫做普通用户
比如我的Linux下有几个普通用户:

在这里插入图片描述
假如你想要切换用户

在这里插入图片描述

注:超级用户切换为普通用户不用输密码
普通用户切换为root或其他普通用户需要密码


3.1 对指令提权

假如我现在是普通用户
但我只想用root账号执行一条命令
如果切换为root那么太麻烦了

这样就可以进行提取了
使用sudo命令的前提是:
此用户被添加到了sudoers白名单
(作为了解,后期会讲)


4. 文件的权限以及角色属性

当我们使用ll指令查看文件信息时
会打印出这样的信息:

在这里插入图片描述

红色框中有十列
蓝色框中有两个名字

用以下的图来理解:

在这里插入图片描述


4.1 角色属性

先看用蓝色和紫色框起来的地方
前者是代表文件的拥有者
后者是代表文件的所属组
所属组的名字是此组组长的名字!

比如现在我使用用户kwy创建一个文件:

在这里插入图片描述

拥有者就变成了kwy


4.2 文件的类型

再看最左边十列,第一列代表文件类型
可以发现,普通文件的第一列是:-
而目录文件的第一列是: d

在这里插入图片描述


4.3 文件的读写权限

前十列的后九行代表了文件的读写权限
它们三个三个为一组

在这里插入图片描述

比如kwy.txt文件:
拥有者可读可写不可执行
所属组可读可写不可执行
other可读不可写不可执行

在这里插入图片描述

下面这张表格可以总结:

在这里插入图片描述
注:读对应指令:cat等等
写对应指令:nano等等

然而可执行暂时不用管


4.4 读写权限的二进制表示

有权限代表1,没有权限代表0
上面的表格可以总结出以下二进制形式:

在这里插入图片描述

kwy.txt文件的二进制形式可以写做:

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

5. 文件的权限的修改方式

想要修改用户的读写权限:

在这里插入图片描述

比如我把kwy.txt文件加上wx权限:

在这里插入图片描述

注:只有文件的拥有者或root可修改文件权限

若你没有读权限去访问文件时会报错:

在这里插入图片描述


5.1 文件权限的八进制修改方式

修改文件权限时,除了使用±号
还可以用八进制进行修改:

将kwy.txt文件改成所有人可读可写:

在这里插入图片描述

将kwy.txt文件的other所有权限去掉:

在这里插入图片描述


6. 修改文件的拥有者/所属组

修改拥有者:

将kwy.txt文件的拥有者改成root:

在这里插入图片描述

修改所属组

需要注意的点:


7. 对文件夹的权限理解

和普通文件不同,文件夹的读写
和可执行权限对应的功能十分不同

  • 读权限( r ):用户能否查看文件夹下文件的信息
  • 写权限( w ):用户能否在此文件夹下创建/删除文件
  • 可执行权限( x ): 用户能否进入此文件夹

比如在我的目录下有一个source文件夹:

在这里插入图片描述

拥有者可以进入文件夹,并且可以创建/删除文件
也可以使用ls相关指令查看文件的信息
但是所属组和other不能创建或删除文件

现在切换为用户kwy并且进入此文件夹:

在这里插入图片描述

当我创建文件时,权限就被限制了!


8. 默认权限以及权限掩码

我们先创建一个目录和一个普通文件:

在这里插入图片描述

我们会发现以下规律:

  • 目录的默认权限为:7 7 5
  • 普通文件默认权限: 6 6 4

这是为什么呢?

其实文件的默认权限有两个因素决定:

  1. 文件的起始权限
  2. 文件的权限掩码

文件的起始权限:

  • 目录的起始权限为:7 7 7
  • 普通文件的起始权限为: 6 6 6

文件的权限掩码:
查看文件的权限掩码:

我的机器上默认为002
用起始权限777-002=775
刚好就等于目录的默认权限
而起始权限666-002=664
刚好也等于普通文件的默认权限


8.1 权限掩码相关的计算

其实文件的默认权限并不是简单的等于:

起始权限 - 权限掩码

它的公式是:

最终权限=起始权限&(~权限掩码)

公式不好记,但是说起来简单易懂

  1. 将权限掩码和起始权限变成二进制
  2. 将这两个二进制对一一对应
  3. 权限掩码为1,起始权限为1时,起始权限改为0
  4. 权限掩码为0,起始权限也为0时,起始权限不变

可以用下面这张图来理解:

在这里插入图片描述


8.2 修改权限掩码

Linux系统的功能做的很全
即使有些功能不经常用

修改权限掩码:

比如现在将权限掩码修改为777:

在这里插入图片描述

此时,新创建的文件或文件夹什么权限都没了!


9. 总结以及拓展

Linux中的权限十分分明,一个用户
能干什么不能干什么都已经规定好了
不会出现你的某位同事删掉你的代码这种事情

拓展: 粘滞位

假设你和你的同事在同一个目录下工作
你要创建文件就必须有目录的w权限
而拥有w权限也不一定完全安全.
可能你的小组某个"间谍"
会删除你们小组所有文件

在这里插入图片描述

然而想要正常工作又必须将w权限放开

为了解决可以创建文件而不能删除他人文件
这个问题,引申出了粘滞位

详情请看:粘滞位讲解


举报

相关推荐

0 条评论