面具与模式 - 权限

面具与模式 - 权限

简单来说,“掩码”和“模式”有什么区别?据我所知,如果文件有0755文件模式的掩码,那么文件模式是否7022正确?它基本上是倒数?

答案1

文件有模式,在创作时面具将根据请求的模式确定模式。掩码的工作原理类似于模板,最好使用二进制表示来说明。

(常见的八进制整数格式)表示umask0002

000 000 000 010

二进制形式,或

--- --- --- -w-

以符号形式。

假设用户要创建一个文件,模式是0777默认的(对于可执行文件),但掩码将以某种方式被“减去”。这会导致位w被删除。

--- rwx rwx rwx  (mode)
--- --- --- -w-  (mask)
_______________ -
--- rwx rwx r-x  ==  000 111 111 101  ==  0775

对于常规文件(不可执行文件),请求的模式没有x(可执行)位,即0666,因此掩码将导致:

--- rw- rw- rw-  (mode)
--- --- --- -w-  (mask)
_______________ -
--- rw- rw- r--  ==  000 110 110 100  ==  0664

后者在目录列表中很常见(其中不显示具有 SUID/SGID 位的第一个八位字节),例如:

-rw-rw-r--   2 gert gert      228 Mar 20  2012 .vimrc

当然,您随时可以使用该chmod命令来更改这些模式,在编辑时不会考虑 umask。

相关内容