唠唠叨叨:
教我们Linux的老师(曾哥)感觉是个人才,他讲的课让人连一秒都不敢走神(一波知识强行塞进大脑+被支配的恐惧...),其速度之快让我都来不及做笔记(和我们Java老师敏哥有一拼),错过一秒感觉就像错过了一个世纪...emmmm但还是很喜欢他呢,毕竟是男神之一哈哈谁让他厉害呢~
话说回来,文件权限机制是个挺有意思的东西,自己动手尝试挑战各种权限,就会发现挺多看似费解其实深藏奥妙的东西,当然也有一些匪夷所思的,让我们一起来学习吧!
进入正题:
属性权限说明
下图是通过“ll”命令查看的一部分文件的属性:
- r w x r w - r - -
第一个字段:
第1位:表示文件类型
[d是目录文件,-是普通文件,l是链接文件(相当于windows的快捷方式),p是管道文件,c是字符设备文件(例如鼠标,键盘等),b是块设备文件(例如硬盘),s是套接字文件。(Linux下一切设备都以文件夹的形式存在;以p、s开头的文件几乎无法看到,但存在)]
第2-4位:表示这个文件的属主拥有的权限,r是读,w是写,x是执行
第5-7位:表示和这个文件的属主所在同一个组的用户所具有的权限
第8-10位:表示其他用户所具有的权限
第二个字段:文件硬链接数或目录的子目录数
第三个字段:文件拥有者
第四个字段:文件拥有者所在的用户组(命令“id+用户名”可显示用户所在用户组;一个用户可加入多个组,一个组也可以包含多个用户;新建用户时就加入的组称为主要组)
第五个字段:文件大小(以一段段储存的,故以字节为单位而非位)
第六个字段:文件创建月份
第七个字段:文件创建日期
第八个字段:文件创建时间
第九个字段:文件名(如果是链接文件,会有一个‘->’符号,后面跟一个指向文件)
(ps:先核对用户身份,再查看对应字段的权限)
修改属性权限
chgrp:改变文件所属用户组(chanage group的简称)
命令格式:chgrp <修改后所属用户组名><文件名>
chown:改变文件所有者
命令格式:chown <属主>:<属组> <文件名>
chmod:改变文件的权限
改变文件的属性有两种方法:
(1)数字类型改变文件属性:
linux文件的基本权限有9个,分别是User,Group,Others,而三种身份又有各自的r、w、x
可以用数字来代表各个权限:r:4,w:2,x:1
E.G.当权限为[ - r w x r w - r - -]分数是:
User=r+w+x=4+2+1=7
Group=r+w=4+2=6
Others=r=4
所以要设置权限更改时,该文件权限数字就是764,更改权限的命令如下:
(2)符号类型改变文件权限
我们通过“UGOA”四种身份修改权限(U:User,G:Group,O:Others,A:All),其中“+、-、=”分别代表:加入、除去、设置
假如将a.out文件权限修改为“--wxr-xr-x”如下:
如果增加a.out文件每个人都可写入的权限:
如果想将权限去掉而不更改其他属性:
【参考文献:https://blog.csdn.net/qq_14918243/article/details/43561653】
【参考文献:https://blog.csdn.net/hehehechen/article/details/78962532】