irpas技术客

理解权限--拿捏权限_i跑跑

irpas 7730

Linux的上一篇文章我们讲到了系统区分文件,是以第一个字符为准:

本篇文章我们来看看后面的字符是什么意思,与权限有何关系。


目录

1. rwx是什么

chmod--改所属单位权限

以改变拥有者的权限为例:?编辑

权限对所属单位的影响:?编辑

三位八进制数字修改权限

chown--更改拥有者

更改所属组的两种方式

1. chgrp--更改所属组

2. chown时--同时更改所属组

关于目录的权限

umask--权限掩码

那么默认权限是如何生成的:

改变默认掩码:

粘滞位

举例:?编辑


首先将后面字符的构成划分一下:

1. rwx是什么

rwx是所属单位的权限,每三个字符为一组,每一组为一个所属单位。

这里需要特别注意:权限的位置是固定好的,第一个不是‘r’就是‘-’,第二个字符不是‘w’就是‘-’,第三个字符不是‘x’就是‘-’。

‘-’代表的是此所属单位没有 r/w/x 权限

r:文件可读权限

w:文件可写权限

x:文件可执行权限

chmod--改所属单位权限

用法:chmod 用户 +/- 权限

拥有者:u 表示

所属组:g 表示

其他用户:o 表示

以改变拥有者的权限为例:

也可以对多个所属单位进行权限修改,中间用 "," 相隔:

若将多个单位修改成相同的权限:?

?

权限对所属单位的影响:

恢复后:?

三位八进制数字修改权限

每一组rwx都可以表示成一个八进制数。

有对应权限,则为1,没有对应权限则为0

比如:

rwx 对应的二进制数就是 111 相对的八进制数就是 7

r-x?对应的二进制数就是 101 相对的八进制数就是 5

--- 对应的二进制数就是 000 相对的八进制数就是 0

既然每一组的对应权限都可以用一个八进制数来表示,那么三组的对应权限就可以用三个连续的八进制数进行修改:

chown--更改拥有者

用法:chown 更改后的拥有者 文件名

注意:

普通用户更改拥有者,一般会报错,因为权限等级不够,一般还要在chown前面加上 sudo,对普通用户进行短暂的权限提升,以root用户的身份去执行

或者将用户直接切换为 root 再进行修改文件的拥有者:

更改所属组的两种方式 1. chgrp--更改所属组

用法:chgrp +要修改成的所属组 +文件名

2. chown时--同时更改所属组

关于目录的权限

修改目录的权限和所属单位和文件对权限的操作相同

文件相当于目录的内容,对此,做以下总结:

目录只没有r权限,允许进入,允许写入(创建)文件,不允许查看

目录只没有w权限,允许进入,允许再该目录中查看文件列表,但是不能创建文件

目录没有r权限,则不允许进入该目录

umask--权限掩码

由上述我们知道权限可以用八进制数来表示,但是我们会发现,创建的每一个目录默认权限都是 775,每一个文件的默认权限都是 664

那么默认权限是如何生成的:

首先:默认目录的起始权限为 777

? ? ? ? ? ?默认文件的起始权限为 666

系统有一个初识的默认权限掩码--umask即可查看:

?与我们本篇相关的是掩码的后三位:002?

二进制为:000 000 010

最终权限的计算方式:

最终权限 = 默认起始权限 & umask取反

改变默认掩码:

直接 umask + 想要修改的掩码值即可(后三位)

粘滞位

Linux 下存在一种公共目录,拥有者和所属组是root,其他人允许以other的身份在该目录下进行文件的创建,读取,删除,修改等!

举例:

用普通用户在公共目录中创建文件:用另一个普通用户查看:

于是报复来啦:

所以更加残酷的操作来了:

进行上述一番操作,temp心满意足,但是wrj还是决定扳回场子,于是让root给all目录设置了粘滞位(chmod +t 目录):

镜头再次转向temp:

temp没辙了,请求 root 帮忙删掉文件:

例子到这里,那么粘滞位的功能就总结出来了:

在公共目录下,设置粘滞位可以防止普通用户间对对方文件的删除操作


对于权限的理解就先到这儿了,希望大家都在一直坚持,共勉呀,加油!!!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #理解权限拿捏权限 #用户 #权限拥有者u #表示所属组g #表示其他用户o