当前位置: 技术问答>linux和unix
通过umask来设定系统默认权限得到的是错误的结果,这是怎么回事??
来源: 互联网 发布时间:2016-07-30
本文导语: 如题目,在命令提示符下我运行umask,将umask的值设成021时,系统默认分配的权限则是:目录权限--756即drwxr-xrw-;文件权限--645即-rw-r--r-x,这是推算的结果。实际运行验证时,目录权限结果是正确的,可是文件默认权...
如题目,在命令提示符下我运行umask,将umask的值设成021时,系统默认分配的权限则是:目录权限--756即drwxr-xrw-;文件权限--645即-rw-r--r-x,这是推算的结果。实际运行验证时,目录权限结果是正确的,可是文件默认权限给出的结果却是-rw-r--rw-,这是为什么?根据文件默认权限“-rw-r--rw-”推算出的umask值应该是020才对。这是为什么?
|
如4楼所说,不应该是减法,而是位屏蔽。
7去x的时候,位运算的结果和减法刚好一样,都是6
6去u码值的时候,减法的结果就不对了。u码值1对应的位本来就是0,就不应该减1了,结果还是6
http://blog.csdn.net/zp_mouse/archive/2009/01/22/3850274.aspx
|
你不是在用数字减法运算吧?数字减法是错误的,umask是遮罩
默认权限文件是644,目录是755吧,如果umask是021,那创建出来的文件应该是644,目录是744的权限吧
默认权限文件是644,目录是755吧,如果umask是021,那创建出来的文件应该是644,目录是744的权限吧