Linux权限

一.预备知识:

历史上学习的大部分命令就是磁盘当中(系统当中)的文件
在这里插入图片描述
而前面这个东西就是命令行提示符,就是一个字符串,由printf打印出来的
在这里插入图片描述
后面要输入的就是一串字符串,从字符串中获取指令
用户执行某种功能的时候,不是直接让操作系统执行对应的命令,而是先交给外壳
在这里插入图片描述
是不是每次登入windows电脑最后的步骤都是加载桌面
那么就有疑问了,为什么不能直接访问内核,外壳如何做到的?

二.外壳

这里讲过小故事:

什么叫做外壳程序:

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

那么问题来了
张三为什么不自己找如花呢?因为张三不擅长和对方打交道(见到个女生就哆嗦)
在这里插入图片描述
外壳程序就是介于用户和操作系统之间的软件(命令行解释器)

为什么存在这个外壳程序:

为什么张三不自己去?
张三(用户)不善于和如花(操作系统)交互
故事第二阶段:

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

张三(用户)的请求是非法请求,王婆(外壳)都不通过,变相的保护了如花(操作系统)
说明shell外壳的存在,可以对请求进行合法性检测,变相的保护OS
非法指令:
在这里插入图片描述

怎么办

故事第三阶段:
在这里插入图片描述
这样子,每次张三找王婆,王婆都排一个实习生,成不成王婆不管,反正找人去了
王婆就一直都做自己的工作,不受张三的影响
派实习生的动作就是bash为我们创造一个子进程(帮用户进行命令解释),bash(王婆)只要等待即可。
这里说以下shell 和bash的区别:
shell是媒婆
bash是王婆
还有sh是李婆

三.Linux权限

什么是权限

vip,门禁
就是通过一定的条件,拦住一部分人,给另一部分的人权利,来访问某种资源

权限的本质

权限和人有关(有些人看电影有广告,有些人没有)
权限和事物的属性有关(去Letcode刷视频,去爱奇艺刷题,不合理)
权限 = 人(角色) + 事物的属性有关

Linux中的用户

由root与普通用户互相转换

在这里插入图片描述

su - 也可以普通用户变root
在这里插入图片描述
su 和 su - 的区别就在于
su - 是重新登入root,所处路径就是/root
su所处路径不变
在这里插入图片描述
root变为普通用户不用输密码,直接变
在这里插入图片描述

以普通用户的身份执行root的工作

在这里插入图片描述
当然,如果不做处理普通用户用不了,里面牵扯到vim和权限,到vim会解释

Linux中文件的权限

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

快速修改权限的做法

一个文件的权限谁能修改?
a.文件的拥有者
b.root
在解答这个问题之前了解一下如何修改权限:
uers,group,other,all
在这里插入图片描述
在这里插入图片描述

对比权限的有无

拥有者权限:
无权限:
在这里插入图片描述
有权限:在这里插入图片描述
结论:对于普通用户,自身要受到权限的约束,即便这个文件是自己的
但是对于root再说,虽然属于other的角色,却不受于普通用户文件的权限影响
在这里插入图片描述
更霸道的是root还能改普通用户文件的权限
在这里插入图片描述
说明root不受权限的影响
但是能限制其它普通用户
在这里插入图片描述
所以权限存在的意义:保证普通用户的文件的一般安全性!
下面sjl不是拥有者,是所属组,但还是没有权限
在这里插入图片描述
这是因为对用户身份进行识别,只识别一次。
拥有者没权限,所属组就不会看了
这里拿root验证一下:
在这里插入图片描述
在这里插入图片描述
改所属组的命令就是:
在这里插入图片描述
上面就涉及到修改权限的第二种做法
权限 = 用户角色(具体的人) + 文件权限属性
第一种是改变的文件属性
第二种是改变文件的角色
但是文件不能随便给,万一给个病毒被接收到了,所以只能由root强制去给
拥有者和所属组可以一起改:
在这里插入图片描述
就会有人问了,为什么不见修改other的指令呢?
因为不需要,修改了拥有者,所属组,other自然也就变了

修改权限的第二套做法

在这里插入图片描述
那么就可以写成:chmod 八进制 filename
在这里插入图片描述

文件属性

在这里插入图片描述
这里举个c的例子:
下面这个是显示器终端的文件
登入一个终端,显示了2个
在这里插入图片描述

这里登入两个终端,显示了3个
在这里插入图片描述
有什么用呢?显示器终端也是文件,举个例子:
在这里插入图片描述

如何理解x

可执行权限VS可执行的区别
能执行 = 可执行权限 + 是一个可执行文件

谈一下目录权限

要进入一个目录需要什么权限???
进入一个目录需要x的权限
在这里插入图片描述
目录r的权限:用户是否能查看指定目录内的信息
在这里插入图片描述
目录w的权限:决定用户是否能在指定目录内新建,修改,删除文件
在这里插入图片描述
所以更加明确了:
在这里插入图片描述
那么问题就来了,在我的目录下,里面有别人的文件,我可以删别人的文件吗?
答案是可以!!!
在这里插入图片描述
虽然对于你的文件来说,我是other
但是我的目录为什么你要写文件

Linux创建文件时的默认权限:

在Linux种创建文件时,相同类型文件创建时权限都是一样的。

在这里插入图片描述
创建普通文件的初始权限是:0666,去掉的x
创建的目录文件的初始权限是:0777,包含的x
最终权限 = 初始权限 & (~umask)
umask是Linux中默认的权限掩码
umask的默认值不同是正常的
在这里插入图片描述
创建文件的时候,要从起始权限中,过滤掉(不是简单的除法)在umask中的权限
以普通文件为例:
在这里插入图片描述

扩展

那肯定有人问,多人合作做同一个文件,权限如何做到共享,并且不被别人捣乱
首先肯定得建在非用户目录下创建,才能互相访问
在这里插入图片描述

然后问题是共享的话,所共享文件的权限就得打开,其他人可以删,就是other
于是有了"沾滞位" chmod + t 作用是只能被
1.超级管理员删除
2.该目录的所有者删除
3.该文件的所有者删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅碎时光807

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值