Linux权限掩码详解

Linux理论情况下,新建普通文件默认权限是666,新建目录文件默认权限是777,然而新建实际看到的可能是普通文件:664、目录文件:775。

图片[1]-Linux权限掩码详解-不念博客

在Linux中创建文件和目录时,单个用户新建普通文件或目录文件其权限是一样的,控制这个新建权限的叫做权限掩码

示例:

图片[2]-Linux权限掩码详解-不念博客

分析:

umask命令可以查看权限掩码。0002(第1个零表示这是一个八进制的数)

示例:

图片[3]-Linux权限掩码详解-不念博客

分析:

umask 八进制数,可以修改权限掩码。

示例:

图片[4]-Linux权限掩码详解-不念博客

分析:

umask设置为0000后,新建普通文件权限就为666,新建目录文件权限就为777了。所以想让新建文件初始权限符合实际预期,那么就需要修改权限掩码的值。

示例:

图片[5]-Linux权限掩码详解-不念博客

分析:

最终权限 = 默认权限 & (~umask);

默认权限,普通文件:666(110 110 110),目录文件:777(111 111 111);

权限掩码设置为222(010 010 010),取反就是(101 101 101);

普通文件最终权限 = (110 110 110) & (101 101 101) = (100 100 100) = 0444;

目录文件最终权限 = (111 111 111) & (101 101 101) = (101 101 101) = 0555;

公式验证的结果和新建文件结果是一致的。

© 版权声明
THE END