【Linux】Linux权限掩码umask

起始权限

我们在创建文件或目录的时候,通常都会有起始的权限,比如目录在创建的时候就有x权限,而且所有同类型文件的起始权限都是相同的

【Linux】Linux权限掩码umask_第1张图片

umask

功能

  • 查看或修改文件掩码
  • 新建文件夹默认权限=0666
  • 新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002

【Linux】Linux权限掩码umask_第2张图片

在创建文件的时候,要从起始权限中,过滤掉(不是简单的减法)在umask中出现的权限

最终权限 = 起始权限 & (~umask)

&:只有对应的两个二进位都为1时,结果位才为1

  • 创建的普通文件,起始权限是0666,去掉x的
  • 创建的目录文件,起始权限是0777,包含x的

在root用户下

【Linux】Linux权限掩码umask_第3张图片

【Linux】Linux权限掩码umask_第4张图片

在普通用户下

【Linux】Linux权限掩码umask_第5张图片

【Linux】Linux权限掩码umask_第6张图片

修改umask

可以通过umask 权限值来修改,修改之后创建文件的起始权限也会不一样

【Linux】Linux权限掩码umask_第7张图片

【Linux】Linux权限掩码umask_第8张图片

你可能感兴趣的:(#,Linux,linux,运维,服务器)