版权声明:

本方法遵循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的值就是用户创建的权限