Linux命令umask使用详解

分类: 系统
日期: 2022-05-11
浏览: 578

介绍

定义:显示或设置创建文件的权限掩码

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.txtmkdir text看下新建的文件和文件夹的权限是否符合结果

设置

知道了默认权限是怎么计算的,就可以来设置默认文件和文件的默认权限了。

目标:把文件夹默认权限改成775即rwxrwxr-x,文件权限改成664即rw-rw-r--

方案:只要把umask的值设置为002即-------w-即可

临时设置方式
umask 002
永久设置方式

当前用户生效

vim ~/.bashrc
umask 002
版权声明
作者:不二
来源:不二博客
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论
赶快发表评论吧~
发表评论