2.怎么阅读权限
我们知道文件权限=角色(拥有者,所属组,其他)+文件属性(r,w,x)
所以:9个字符分为三组,解释就是这个文件的拥有者具有读写可执行权限,所属组有读,可执行权限,其他人有读和可执行权限。
写了这两个,剩下的就是其他。
3.怎么操作权限
权限=角色+属性,那无非就是操作这两个元素:
角色:u(拥有者),g(所属组),o(其他人)。文件是具体用户创建,就会赋予人身份,root创建的文件,那么拥有者就是root,但都是可以修改的。
那么增减一个人的一个权限:chmod 角色+权限 文件名(目录名)
多个人的权限统一修改:chomd a+/- 权限 文件或者目录名
对角色进行操作:
修改拥有者和所属组对应的人:
如果你修改用户,必须征得对方的同意,但root不受权限限制,可以直接修改,所以一般修改用户都要提权命令。
拥有者:sudo chown XXX 目录/文件名
所属组:sudo chgrp XXX 目录/文件名
一起修改:sudo chown XXX:XXX 目录/文件名
操作权限还可以用8进制来修改:
4.为什么有权限
当然是因为多用户操作系统,便于系统进行安全管理。
那为什么刚被创建出来的文件权限是我们看到的样子?
这就提到了umask权限掩码
umask权限掩码
linux规定,目录的起始权限是 777;普通文件的起始权限是 666;
但是系统规定:系统会默认配置好umask权限掩码,凡是在umask中出现的权限,都必须在起始权限中去掉。怎么个事儿?来看:
去掉的规则是:最终权限=起始权限&(~umask)
umask: 000 000 010 (1代表有这个权限)
~umask: 111 111 101( 0代表没有这个权限)
与起始权限相与,就会把umask中有的权限去掉。
如果我们要进入一个目录,需要什么权限呢?
对!只需要x权限。 r是读取目录的列表;w是在目录中操作;x对于目录就是可进入
所有的目录被创建出来都会有x权限(可进入)
粘滞位
在linux系统中,会由root创建一个公共目录去存放各自的临时文件(tmp)。
但在这个目录中的文件是可以被随便删除的(因为文件是否可以被删除是由他在的这个目录的权限决定的),所以为了防止互相删除,就出现了粘滞位。
粘滞位:chmod +t 目录名 就会变为 rwt (操作仅针对目录)
总结:
shell的运行原理和权限想必大家都已经了解了吧!可以课后操作命令去练习,加深印象,我们下期再见!
文章知识点与官方知识档案匹配,可进一步学习相关知识