umask命令: 文件的默认权限

umask

umask指定的是当前用户新建文件(目录)时的默认权限
可以直接输入umask查看新建文件的默认权限:

umask
0022 # 后三个数字022是我们需要的权限, 第一个是特殊权限

也可以加参数-S:

umask -S
u=rwx,g=rx,o=rx # 以符号的形式展示权限

乍一看, 不对呀, u=rwx那么对应的权限数字是7, g=rxo=rx对应的权限数字都是5. 那为啥输入umask后三位显示022呢?
因为umask的值表示的是默认权限需要减去的权限.
r, w, x的默认权限为4, 2, 1.

  • u=rwx中, 出现了r,w,x那么就没有要减去的权限, 用户要减去的权限为0
  • g=rx中出现了r,x, 没有出现w就要减去w的权限, 为2. 则用户组要减去的权限为2
  • o=rx中出现了r,x, 没有出现w就要减去w的权限, 为2. 则其他用户要减去的权限为2

这样, 我们看到umask的后三个数字是002

设置默认的权限

umask既然能够获取新建文件的权限, 那么也能设置新建文件的权限. 我们只需在后面加上数字即可.

umask 002
# 先设置默认权限
umask
0002 # 然后获取权限, 发现返回值的后三位变成002了

注意: 既然umask的值表示默认权限需要减去的权限, 那么umask设置的值也表示默认权限需要减去的权限
当然我们也可以用字符串的形式更改

umask u=rw
# 减去u的x权限(即减去1)
umask
0102 # 修改后的umask值

猜你喜欢

转载自blog.csdn.net/helloyongwei/article/details/80490259