当我们登入linxu系统之后创建一个文件,或者一个文件夹,总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限
[UMASK]
- 在linux中,一般新建文件会有个默认权限
- 一般默认文件权限最大为666 => rw-rw-rw-
- 文件夹最大权限为777 rwxrwxrwx
- 而文件是不会给执行权限x,因为这个比较危险
- 你本机的默认umask值决定了你默认创建文件和文件夹的初始权限
使用命令umask查看本机权限

去掉第一位暂时不看 我的本机umask默认权限是022
- 你可以理解
- 第一位为所属用户权限
- 第二位为所属用户组权限
- 第三位为其他人权限
我们知道r=4 w=2 x=1
如果你的默认系统umask权限是022 那他将会代表什么
1 2 |
我们可以假定 022 = ----w--w- |
[新建文件]
一般默认新建文件权限最大为666 => rw-rw-rw- (系统默认是不会给文件x权限的因为太危险)
如果你的umask默认值为022 那你的默认新建文件的权限是多少呢?
1 2 3 |
rw-rw-rw- #系统默认最大权限 ----w--w- #umask系统默认权限 #你的新建文件权限为 系统默认权限减去umask权限 666 - 022 就等于下图 |

所以你的新建文件初始权限为644
看下我本机新建文件 我本机umask权限为022

[新建文件夹]
文件夹最大权限为777 rwxrwxrwx
当前我的本机umask权限为022 那我新建文件夹的权限为多少?
1 2 3 4 5 6 |
rwxrwxrwx #系统文件夹最大权限 - ----w--w- #系统umask权限 = rwxr-xr-x 755 #所以我默认创建文件夹的权限是755 如下图 |

通过临时改变umask的值来改变你新建文件的默认初始权限
umask 022
如果要永久修改这个默认权限
/etc/profile 这是一个环境变量配置文件

- 本文固定链接: https://www.yoyoask.com/?p=217
- 转载请注明: shooter 于 SHOOTER 发表