版权声明:
本方法遵循oldboy衍生而来,务必尊重作者!!!
http://oldboy.blog.51cto.com/2561410/1060032
第1章 根据umask值,计算文件权限
1.1 数字方法计算
1.1.1针对文件来说
用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
1.1.2针对目录来说
对于目录来讲,就是用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
1.1.3小结
默认最大权限 | 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权限)=(用户创建的权限) |
1.2umask -S计算方法
1.2.1针对文件来说
(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
1.2.2针对目录来说
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
1.2.3小结
默认最大权限 | 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的值就是用户创建的权限 |