您的位置:首页 > 运维架构 > Linux

20_Linux基础知识及命令――――umask遮罩码

2014-04-30 00:03 330 查看
umask在创建文件时的作用:

root用户创建的文件默认权限是 644, 即属主:读、写;属组:只读;其他:只读;
目录的默认权限是755,即属主:读、写和执行;属组:读和执行;其他:读和执行;




而普通用户创建的文件默认权限是 664, 即属主:读、写;属组:读、写;其他:只读;
目录的默认权限是775,即属主:读、写和执行;属组:读、写和执行;其他:读和执行;


root用户和普通用户的创建文件的默认权限不同,是由于shell环境的设定不同。此环境称为umask,即遮罩码(或反向掩码)。它表示用户在创建文件或目录时,会使用777或666减去遮罩码,从而产生默认权限,其中:创建文件:666-umask 创建文件使用666,是因为文件默认不能具有执行权限。创建目录:777-umask


遮罩码可以自行设定,使用命令为:# umask NUMBER需要注意的是,由于文件默认没有执行权限,因此即使用户设定的umask被666减去后具有了执行权限,系统也会默认为该结果加1以确保文件没有执行权限。例如:# umask 023此时创建的文件默认权限应该是: 666 - 023 = 643 //属主:读写;属组:只读;其他:写和执行;但实际创建的文件默认权限为:666 - 023 + 1 = 644 //属主:读、写;属组:只读;其他:只读;但是目录没有这样的限定。



注意:设定的umask只对当前的shell进程有效,一旦退出当前的shell,umask即恢复默认值,此前的设置失效了。如果想让umask的值永久有效,只能通过修改配置文件来实现。




本文出自 “重剑无锋 大巧不工” 博客,请务必保留此出处http://wuyelan.blog.51cto.com/6118147/1404844
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: