【Linux】umask默认权限

【Linux】umask默认权限

时间:2013-08-10 11:08:45      作者:vaster      标签: Linux 权限 系统基础      分类: Linux

对每一个新创建的文件或目录,系统都会自动赋予一个默认的权限。可以使用umask命令设置文件或目录的默认权限。
对每一个新创建的文件或目录,系统都会自动赋予一个默认的权限。可以使用umask命令设置文件或目录的默认权限。
umask命令的格式如下所示:
umask命令的格式如下所示:
umask [mask]
umask [mask]
其中[mask]可以是由4个8进制数字组成的权限掩码,直接使用umask命令可以显示系统默认的权限掩码:
其中[mask]可以是由4个8进制数字组成的权限掩码,直接使用umask命令可以显示系统默认的权限掩码:
 #umask
 #umask
  0022
  0022
如何计算默认权限?
如何计算默认权限?
通常新建文件的默认权限为0666,新建目录的权限为0777,与当前的权限的权限掩码(二进制)作与运算,再将默认权限与得到的权限相减,即可得到创建文件的最终权限。
通常新建文件的默认权限为0666,新建目录的权限为0777,与当前的权限的权限掩码(二进制)作与运算,再将默认权限与得到的权限相减,即可得到创建文件的最终权限。
实例1:umask 0022
实例1:umask 0022
实例2:umask  0031/umask u=rwx,g=r,o=rw
实例2:umask  0031/umask u=rwx,g=r,o=rw
# umask  
# umask  
0031  
0031  
# touch  p  
# touch  p  
# mkdir  M
# mkdir  M
# ls  -l
# ls  -l
drwxr--rw- 2 root root 4096 07-26 09:15 M
drwxr--rw- 2 root root 4096 07-26 09:15 M
-rw-r--rw- 1 root root    0 07-26 09:14 p
-rw-r--rw- 1 root root    0 07-26 09:14 p
031的二进制(000,011,001)
031的二进制(000,011,001)
777的二进制(111,111,111)
777的二进制(111,111,111)
666的二进制(110,110,110)
666的二进制(110,110,110)
目录权限计算:
目录权限计算:
777 & 031 = 031  相减=777-031=746
777 & 031 = 031  相减=777-031=746
666 & 031 = 020  相减=666-020=646
666 & 031 = 020  相减=666-020=646
还有一个简单的方法,如果是目录或umask各者为偶数的话,直接相减,
还有一个简单的方法,如果是目录或umask各者为偶数的话,直接相减,
                                如果是文件且umask有部分位数为奇数,则将奇数位的数减1,再相减
                                如果是文件且umask有部分位数为奇数,则将奇数位的数减1,再相减

时间:2013-08-10 11:08:45      作者:vaster      标签: Linux 权限 系统基础      分类: Linux
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.