3.文件管理
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
标签:tmp,rw,umask,Linux,权限,root,localhost
来源: https://blog.51cto.com/5482173/2490159