0.文件的权限
1.默认权限(最终权限)、起始权限
- 默认权限——我们看到的权限
- 起始权限——系统设定的权限
- 最终权限——就是默认权限
(不同操作系统默认权限可能不一样)
新建文件夹默认权限=0666
新建目录默认权限=0777
- 普通文件:
起始权限:666——110 110 110——rw- rw- rw-
默认权限:664——110 110 010——rw- rw- -w- - 目录文件
起始权限:777——111 111 111——rwx rwx rwx
默认权限:775——111 111 011——rwx rwx -wr
2.umask
为什么我们看到的默认权限与起始权限不同呢?
因为umask屏蔽了起始权限。
umask的功能:查看或修改文件掩码。
2.1掩码
为了更好的控制文件的权限,系统引入 权限掩码 的概念。
那么什么是掩码呢?
举例:要获取1011 1010的后8个比特位,我们只需要用1011 1010 & 0000 1111 => 0000 1010即可,这里的0000 1111就是掩码,就是一串二进制序列。
而在Linux系统中,有自己的权限掩码,就是umask。
2.2.默认掩码值
超级用户:
umask —— 0022 => 000 010 010
普通用户:
umask —— 0002 => 000 000 010
2.3.权限掩码的原理
在起始权限中,去掉在umask中出现的权限,并且不能影响其他任何权限。
最终权限 = 起始权限 & (~umask)
2.4.最终权限(默认权限)的计算
最终权限 = 起始权限 & (~umask)
补充:umask可以被修改。
比如输入umask 0007即可将其改为007,修改后创建的文件与目录权限也会发生相应的变化,计算方法与之前一样。