2.16 umask

时间:2022-04-27
本文章向大家介绍2.16 umask,主要内容包括umask命令介绍、规则:、umask算法、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

umask命令介绍

  • umask命令,通过这个值可以确定文件和目录的默认权限是什么。
  • 默认情况下,目录的权限值为755(rwxr-xr-x),普通文件的默认权限为644(-rw-r--r--),umask默认值为0022(----w--w-)

例子对比

[root@hf-01 ~]# touch 11.txt
[root@hf-01 ~]# ls -l 11.txt
-rw-r--r--. 1 root root 0 10月 26 08:39 11.txt
[root@hf-01 ~]# mkdir 123
[root@hf-01 ~]# ls -ld 123
drwxr-xr-x. 2 root root 6 10月 26 08:39 123
[root@hf-01 ~]# umask   这是系统root用户的umask值0022,通过这个值就可以确认文件的默认权限,也可以确认目录的默认权限是什么
0022
[root@hf-01 ~]# umask 002   这里更改默认权限,写全了是0002,但一般会省去开头的0,写成002
[root@hf-01 ~]# touch 33.txt
[root@hf-01 ~]# ls -l 33.txt       这里和上面对比,会发现创建的文本权限发生了变化
-rw-rw-r--. 1 root root 0 10月 26 08:56 33.txt
[root@hf-01 ~]# mkdir 234
[root@hf-01 ~]# ls -ld 234         这里的文件夹权限也发生了变化
drwxrwxr-x. 2 root root 6 10月 26 08:57 234
  • 所以在创建目录或者文件的时候,文件或目录的权限是通过:
    • 在创建的目录或者文件的权限=默认值(文件为666 rw-rw-rw,目录为777 rwxrwxrwx)-umask的值 得来的。

规则:

  • 若用户创建普通文件。则预设没有可执行权限,只有rw两个权限,最大值为666(-rw-rw-rw)
  • 若用户建立目录,则预设开放所有权限,最大值777(rwxrwxrwx)

umask算法

当umask=003
目录的权限:777(rwxrwxrwx)-003(-------wx)=774(rwxrrxr--)
普通文件的权限:666(rw-rw-rw-)-003(-------wx)=664(rw-rw-r--)

--x减去--w依然是什么都没有