首页 > 代码库 > Linux中设定umask的作用

Linux中设定umask的作用

在linux中,常常都要提示设置: 
     umask 022

其作用如下:

功能说明:指定在建立文件时预设的权限掩码。
语  法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
参  数:
-S  以文字的方式来表示权限掩码。 
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入

例一:设要生成的文件以rw- r-- r--这样的权限字出现,即真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。

注:033效果与022一样,假设使用033掩码进行设置,则真实权限应为633即rw- r-x r-x ,但前提规定文件不生成x位,所以文件的权限最终将以rw-r--r--出现。

目录:用八进制基数777

例二:设要生成的目录权限以rwxr-xr-x这样的权限字出现,即真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。

总结:

掌握二个要点,一、文件基数为666,目录为777,即文件无设x位,目录可设x位。二、chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限。

实例:

# umask
00

# mkdir test
# ls -ltr
drwxrwxrwx   2 root       sys             96 Oct 11 11:10 test
# umask 022
# umask
022
# mkdir test2
# ls -ltr
drwxrwxrwx   2 root       sys             96 Oct 11 11:10 test
drwxr-xr-x   2 root       sys             96 Oct 11 11:11 test2

白话:

其实就是默认权限不一样,umask用来设置默认权限的。

Linux中设定umask的作用