在Linux和其他类Unix的操作系统上,将使用一组默认权限创建新文件。具体来说,可以通过应用称为umask的权限掩码,以特定方式限制新文件的权限,umask命令指定在建立文件时预设的权限掩码,或者展示当前的权限掩码值。
-S: 以文字的方式来表示权限掩码。mask: 果指定了有效的掩码,则将umask设置为此值,如果未指定掩码,则返回当前的umask值。使用ll命令查看文件与文件夹相关信息,对于其权限信息:
-代表该文件为普通文件,为d则代表目录。rw-代表用户u权限属性。r--代表用户组g权限属性。r--代表其他人o权限属性。权限可以使用字符表示,同样也可以使用八进制表示信息:
r: 读取属性,值为4。w: 写入属性,值为2。x: 执行属性,值为1。关于操作权限的操作符:
+: 为指定的用户类增加指定的文件权限。-:为指定的用户类去除指定的文件权限。=: 为指定的用户类设定指定的文件权限。本质上,umask的每个数字都从操作系统的默认值中减去,以获得定义的默认值,这不是真正的减法,从技术上讲是将掩码按位取反,然后使用逻辑AND操作将此值应用于默认权限,例如umask值为0022:
Linux系统上,默认的创建文件权限是666,默认创建文件夹的权限为777。666 - 022 = 644即现在创建的新文件的权限为644。777 - 022 = 755即现在创建的新文件夹的权限为755。此外,第一个零是特殊的权限数字,可以忽略,就当前的目的而言,0002与002相同。
查看系统当前umask值。
以符号表示形式表示当前系统权限掩码。
将系统umask值设置为022。