介绍
定义:显示或设置创建文件的权限掩码
umask
> 022
以符号方式输出
umask -S
> u=rwx,g=rx,o=rx
u=rwx,g=rx,o=rx表示文件或文件件的默认权限为所属用户具有读、写、执行的权限;所属组下的用户具有读、执行的权限;其他用户具有读、执行的权限。
u
: 所属用户g
: 所属组下的用户o
: 其他用户a
: 所有用户r
: 读权限以及八进制数4
w
: 写权限以及八进制数2
x
: 执行权限以及八进制数1
+
: 添加目标用户相应的权限-
: 删除目标用户相应的权限=
: 赋予目标用户相应的权限
计算
文件和目录的真正初始权限,需要通过计算获取
文件(或目录)的初始权限 = 文件(或目录)的最大默认权限 - umask权限
- 文件的最大默认权限是666即rw-rw-rw-,因为执行权限是文件的最高权限,赋予时要慎重,所以文件默认都是不可执行的。
- 目录的最大默认权限是777即rwxrwxrwx
这里的计算不是先把字母形式转换为数值再计算,而是先把数值转换为字母形式再计算!
文件的默认权限计算
022 = ----w--w-
666 = rw-rw-rw-
(rw-rw-rw-) - (----w--w-) = rw-r--r--
文件夹的默认权限计算
022 = ----w--w-
777 = rwxrwxrwx
(rwxrwxrwx) - (----w--w-) = rwxr-xr-x
使用touch a.txt
和mkdir text
看下新建的文件和文件夹的权限是否符合结果
设置
知道了默认权限是怎么计算的,就可以来设置默认文件和文件的默认权限了。
目标:把文件夹默认权限改成775即
rwxrwxr-x
,文件权限改成664即rw-rw-r--
方案:只要把umask的值设置为002即
-------w-
即可
临时设置方式
umask 002
永久设置方式
当前用户生效
vim ~/.bashrc
umask 002