今天接触到了掩码,从新浪博客上看到一个关于掩码解释比较全面的博客,便转载过来。
文件权限是linux系统中的一种安全机制,通过设置不同的权限,可以达到限制用户操作的目的,有效地保证了文件的完整性。
默认的情况下,创建一个文件的权限为”rw-r–r–”,而创建一个目录的权限为rwxr-xr-x”,如果默认的不符合用户的需求,可以用chmod命令进行设置,但这样的效率很低。
linux提供了一个方便的工具umask,可以用来设置文件的默认掩码。
文件的默认权限就是umask设置的掩码和系统中默认的最大权限码做异或运算,其结果就是文件的默认权限。
语法:
umask [选项] [权限掩码]
-S 以字符的方式来表示权限掩码
例:
一、设置文件的权限掩码,使文件自动生成默认权限为rw-rw—-
rw-rw—-对应的数字就是660, 其实每一位用三位2进制来表示,所以3位二进制组成十进制数就得出660,由于要生成的文件默认权限改变,其权限掩码值为:666-660=006
linux@server:~$ umask 006
linux@server:~$ touch abc
linux@server:~$ ll abc
-rw-rw—- 1 linux linux 0 2010-12-11 21:44 abc
umask 777 #创建文件会没有任何权限,他和chmod是相反的。
umask 000 #具有所有权限。但文件没有x权限。
注意:
对于文件的执行权限(即X权限)使用umask命令是无法使其起作用的,系统强制关闭文件的X默认执行权限,只能通过chmod修改
umask只对当前shell环境起作用。