命令探究Linux系统中UMASK命令的作用(linux的umask)
UMASK 是 Unix 系统中常用的一个命令,它的功能是设置与文件创建相关的默认文件权限。UMASK 是 Unix 中一个很重要的权限控制文件,它是一个十六进制的值,每一位都可以具体指定文件或者目录的权限值,UMASK 的全称是“User File creation mode Mask”,即用户文件创建模式掩码,其作用是掩码或遮蔽掉文件创建时系统默认的权限设定,从而达到不让文件多出某些权限的目的。
很多用户不知道UMASK有什么用,因为它看起来像一个混乱的2维表。UMASK在Linux系统中实际上是非常重要的,它可以用来控制新创建文件的访问权限。它的使用可以有效的确保文件的安全性和控制文件的权限。在Linux系统中,文件的权限是按照这样来判断的:读(r),写(w),执行(x);还有一个特殊的权限是其他的(o),也就是普通用户的权限。而UMASK的作用就是从这3种以上的权限中掩码掉指定的一种或多种权限,从而达到控制新文件创建之权限,为系统提供安全性。
通常 UMASK 的值是 022,它的含义是指指定成bash shell环境,如果这个值被指定成 002,代表指定成csh 环境。它有4种权限,分别是 r(读)w(写)x(执行)和s(粘滞位)这4种权限,每种权限分别有8位,在两组16位中,第1个组分别对应着 Owner, Group,Other的权限,第2组则是SUID,SGID位。通常限制文件创建权限的值是022,它的作用是从每一位中掩码掉 2 个位数,要么是 022 左4位,要么是 022 右4位。比如,如果 022 左4位是 000,那么意味着把 owner 的权限全部掩码掉。同时,如果 022 右4位是 000,则意味着把所有人的其他权限全部掩码掉。
总之,UMASK 命令是使用 Linux 系统环境下创建文件时默认权限的一个手段,它可以有效的帮助系统安全性,避免文件创建时权限过高,从而达到保护系统的安全性。