3.文件治理

本章同步视频https://edu.51cto.com/sd/e4874

3.3 特殊权限

3.3.1 默认权限umask

1.默认权限

u  若使用者建立为『档案』则预设『没有可执行( x )权限』,亦即只有rw这两个项目,也就是最大为 666 分,预设权限如下:-rw-rw-rw-。

u  若用户建立为『目录』,则由于 x 与是否可以进入此目录有关,因此默以为所有权限均开放,亦即为 777 分,预设权限如下:drwxrwxrwx。

2.建立文件的默认权限

[root@localhost tmp]# touch aaa

[root@localhost tmp]# ll aaa

-rw-r--r--. 1 root root 0 Mar 13 21:05 aaa

[root@localhost tmp]# mkdir bbb

[root@localhost tmp]# ll -d bbb/

drwxr-xr-x. 2 root root 6 Mar 13 21:07 bbb/

3.查看umask值

[root@localhost tmp]# umask

0022

4.修改umask值

[root@localhost tmp]# umask 222

[root@localhost tmp]# umask

0222

[root@localhost tmp]# touch aaa.a

[root@localhost tmp]# ll aaa.a

-r--r--r--. 1 root root 0 Mar 13 21:08 aaa.a

[root@localhost tmp]# mkdir bbb.b

[root@localhost tmp]# ll -d bbb.b/

dr-xr-xr-x. 2 root root 6 Mar 13 21:08 bbb.b/

5.伪结论

建立文件的权限=默认权限-umask

6.疑问

[root@localhost tmp]# umask 033

[root@localhost tmp]# umask

0033

[root@localhost tmp]# touch aaa.033

[root@localhost tmp]# ll aaa.033

-rw-r--r--. 1 root root 0 Mar 13 21:17 aaa.033

#疑问:666-033=633 ?  

                     or

             666-033=644 ?

7.建立文件的权限的准确计算方法

u  将umask值转换成二进制

033----->000 011 011

u  将二进制取反

000 011 011---->111 100 100

u  将反码与默认权限的二进制数举行按位与运算

111 100 100

110 110 110

110 100 100

u  效果即为建立文件的权限。

110 100 100 ---->644

8.差别用户的umask默认差别

[calf@localhost ~]$ umask

0002

[root@localhost tmp]# umask

0022