umask

umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般可在/etc/profile、/etc/bashrc、$ [HOME]/.bash_profile、$[HOME]/.profile或$[HOME]/.bashrc中设置umask值。具体取决于Linux发行版,比如Fedora19下要更改自己的umask值,在$[HOME]/.profile或$[HOME]/.bash_profile下的增加umask的值覆盖不了/etc/profile中的配置值的,必须在$[HOME]/.bashrc下增加umask值才可以永久定义自己的umask值。


umask [选项] [掩码]
-S:显示当前的掩码。
umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限。
umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。

来自 <http://baike.baidu.com/link?url=EYkU3q4CbiuoCai6PXcXNEUZ1DiBpbLYHfuHl28dC__ae0bNh1Py8CyQz42kZCS9NV8OPuVqNgLDoiU3SOniwa>

计算umask
求各位的补位
以023为例

文件 目录 
本用户 本组用户 其他用户 本用户 本组用户  其他用户
110(6) 110(6) 110(6) 111(7) 111(7) 111(7)
000(0)  010(2) 011(3)  000(0)  010(2) 011(3) 
110(6) 100(4) 100(4)  111(7)  101(5) 100(4)


结果是文件644,目录754
方便计算方法
以023为例
用777去减,得到754,就是目录权限
文件权限只能是偶数,因为没有执行权限,所以文件权限在754向下减为偶数,是644

posted @ 2016-10-14 13:43  碗里唱歌  阅读(42)  评论(0)    收藏  举报