Linux的上一篇文章我们讲到了系统区分文件,是以第一个字符为准:
本篇文章我们来看看后面的字符是什么意思,与权限有何关系。
目录
首先将后面字符的构成划分一下:
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 帮忙删掉文件:例子到这里,那么粘滞位的功能就总结出来了:
在公共目录下,设置粘滞位可以防止普通用户间对对方文件的删除操作
对于权限的理解就先到这儿了,希望大家都在一直坚持,共勉呀,加油!!!
原文地址:https://blog.csdn.net/weixin_53316121
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。