版权声明:
本方法遵循oldboy衍生而来,务必尊重作者!!!
http://oldboy.blog.51cto.com/2561410/1060032
用666来计算
如果umask值任意一位都是偶数位的话直接减umask值
666-002=664
[xeon@node02 tmp]$ umask002
[xeon@node02 tmp]$ touchf002
[xeon@node02 tmp]$ ls-l f002
-rw-rw-r-- 1 xeon xeon 0 Apr 2 13:22 f002
如果umask值任意位有奇数的话,减完了,任意位奇数位在加1就是正确的
666-123=543+101=644
[xeon@node02 tmp]$ umask123
[xeon@node02 tmp]$touch f123
[xeon@node02 tmp]$ ls -l f123
-rw-r--r-- 1 root root 0 Apr 6 13:24 f123
对于目录来讲,就是用777-umask就完事儿了
777-022=755
[xeon@node02 tmp]$umask 022
[xeon@node02 tmp]$ mkdird022
[xeon@node02 tmp]$ ls-ld d022
drwxr-xr-x 2 xeon xeon 4096 Apr 2 13:43 d022
默认最大权限 |
umask值 |
用户创建的权限 |
|
创建文件(umask所有位为偶数) |
666 |
002 |
664 |
-rw-rw-rw- |
--------w- |
-rw-rw-r-- |
|
(默认最大权限)-(umask权限)=(用户创建的权限) |
|||
创建文件(umask部分位或全部位为偶数) |
666 |
123 |
644 |
-rw-rw-rw- |
---x-w--wx |
-rw-r--r-- |
|
(默认最大权限)-(umask权限)+(umask奇数任意位加1)=(用户创建的权限) |
|||
创建目录 |
777 |
022 |
755 |
drwxrwxrwx |
d----w--w- |
drwxr-xr-x |
|
(最大默认权限)-(umask权限)=(用户创建的权限) |
(umask值任意位有偶数)-(umask值任意偶数位上的x)=(用户创建的权限)
属主-x,属组-x,其他用户-x
[xeon@node02 tmp]$ umask002
[xeon@node02 tmp]$ touchf002
[xeon@node02 tmp]$ umask-S
u=rwx,g=rwx,o=rx
[xeon@node02 tmp]$ls -l f002
-rw-rw-r-- 1 xeon xeon 0 Apr 2 13:22 f002
属组-x
[xeon@node02 tmp]$ umask123
[xeon@node02 tmp]$ touchf123
[xeon@node02 tmp]$ umask -S
u=rw,g=rx,o=r
[xeon@node02 tmp]$ ls -l f123
-rw-r--r--1 root root 0 Apr 6 13:24 f123
umask -S的值就是用户创建的权限
[xeon@node02 tmp]$umask 022
[xeon@node02 tmp]$ mkdird022
[xeon@node02 tmp]$ umask-S
u=rwx,g=rx,o=rx
[xeon@node02 tmp]$ ls-ld d022
drwxr-xr-x 2 xeon xeon 4096 Apr 2 13:43 d022
[xeon@node02 tmp]$ umask033
[xeon@node02 tmp]$ mkdird033
[xeon@node02 tmp]$ umask-S
u=rwx,g=r,o=r
[xeon@node02 tmp]$ ls-ld d033
drwxr--r-- 2 xeon xeon 4096 Apr 2 13:45 d033
默认最大权限 |
umask值 |
用户创建的权限等于umask -S |
umask值 |
用户创建的权限等于umask -S |
|
创建文件(umask可以是奇数和偶数) |
666 |
002 |
664 |
123 |
644 |
-rw-rw-rw- |
--------w- |
-rw-rw-r-- |
---x-w--wx |
-rw-r--r-- |
|
(umask值任意位有偶数)-(umask值任意偶数位上的x)=(用户创建的权限) |
|||||
创建目录 |
777 |
022 |
755 |
333 |
444 |
drwxrwxrwx |
d----w--w- |
drwxr-xr-x |
d-wx-wx-wx |
dr--r--r-- |
|
umask -S的值就是用户创建的权限 |