一、目录权限
文件的权限描述符,由10个字母组成
如下图所示,可以按照1-3-3-3的结构划分,用rwx表示拥有权限,r代表read(可读),w代表write(可写),x代表executable(可执行)
第一个字符用于区分文件类型:d代表目录,-代表普通文件,l代表软链接(类似windows的快捷方式),b代表块设备文件(比如硬盘,光驱),p代表管道文件,c代表字符设备文件(比如屏幕等串口设备),s标识套接口文件
第二个字符段用于表示文件拥有者权限
第三个字符段用于表示组权限
第四个字符段用于表示其他人权限
权限也可以使用八进制表示,如下图所示
文件访问权限设置方法:
a)chmod:设置文件的访问权限
①用户标识符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号: u:拥有者 g:拥有者同组用 o:其它用户 a:所有用户
②三位8进制数字
664转化为二进制为110 110 100,与相应位置权限对应
b)chown:修改文件的拥有者
c)chgrp:修改文件或目录的所属组
二、默认权限
默认权限:
采用touch创建一个新文件后,使用ll命令可以在展示的信息中看到系统默认给予的文件权限,也就是默认权限
起始权限:
起始权限由系统设定,普通文件的起始权限为666,目录的起始权限为777
系统为了更好的控制文件权限,系统会有默认的权限掩码umask
umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
虽然 umask 默认权限是用来设定文件或目录的初始权限,但并不是直接将 umask 默认权限作为文件或目录的初始权限,还要对其进行 "再加工"。
指令:umask [-S][权限掩码]
最终权限:
最终权限=起始权限 & (~umask)
三、粘滞位
在使用linux的时候,可能会产生一些共享目录,被所有的普通用户共享,用来保护普通用户产生的临时数据
共享的目录一般是由root提供的,文件被所有人共享的时候,可以通过权限约束别人,但是无法阻止别人删除文件
粘滞位:使大家在共享文件的状态下,其他人无法所以删除目录内文件
当一个目录被设置为“粘滞位”用(chmod+t),则该目录下的文件只能由①超级管理员删除②该目录的所有者删除③该文件的所有者删除
粘滞位影响目录权限,只能给目录添加
总结:
1)目录的可执行权限是标识你可否在目录下执行命令
2)如果目录没有-x权限,则无法对目录执行任何命令,甚至不能cd进入目录,即使目录仍然有-r读权限
3)如果目录具有-x权限,但是没有-r权限,那么用户可以执行命令,cd进入目录。但是由于目录没有读权限,所有在目录下执行ls也无法读出目录中的文件