原理:
1、将目录或文件的默认最高权限(目录:777,文件:666)和umask掩码值都转换为二进制。
2、对umask取反
3、将两个二进制做与运算
4、将运算后的二进制转换为十进制,即为用户的新建目录或文件的默认权限
公式:
按照umask计算原理很麻烦,所以公式总结如下:
目录(文件)的初始权限=目录(文件)的最大默认权限-umask权限
这种公式方法要注意分类:
目录公式:用户目录默认权限=777-umask值
文件公式:
1、偶数umask:用户文件默认权限=666-umask偶数值
2、奇数umask: 用户文件默认权限=666-umask奇数值+1
原理示例:
1、原理法:
目录情况:假设umask值为223
777转化为二进制:0111 0111 0111
umask 223转化为二进制:0010 0010 0011:取反后:1101 1101 1100
0111 0111 0111
& 1101 1101 1100
= 0101 0101 0100
结果转化为十进制:554
文件情况:假设umask值为223
666转化为二进制:0110 0110 0110
umask233转化为二进制: 0010 0010 0011:取反后:1101 1101 1100
0110 0110 0110
& 1101 1101 1100
= 0100 0100 0100
结果转化为十进制:444
公式示例:
2、公式法:
目录情况:假设umask值为223
目录公式:用户目录默认权限=777-umask值
777-223=554
文件情况:假设umask值为223
文件公式:
1、偶数umask:用户文件默认权限=666-umask偶数值
2、奇数umask: 用户文件默认权限=666-umask奇数值+1
666-223+1=444