linux 权限掩码函数 umask 介绍

1 简介 
    linux中的 umask 函数主要用于:在创建新文件或目录时 屏蔽掉新文件或目录不应有的访问允许权限。
    文件的访问允许权限共有9种,分别是:rwxrwxrwx
    它们分别代表:用户读 用户写 用户执行 组读 组写 组执行 其它读 其它写 其它执行
2 功能及参数介绍
    umask(显示、设置文件的缺省权限即默认权限) 
    语法:umask [-S]  [权限掩码]
    补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
    -S 以rwx形式显示新建文件或目录缺省权限  
    例:umask查看默认权限(0022)  
    0-特殊权限位  
    022-用户权限位,权限掩码值  实际权限值:777—022=755(目录权限)  
    Linux权限规则:缺省创建的文件不能授予可执行x权限(文件默认权限644) 这规则屏蔽了很多的攻击和病毒,任何木马病毒不可执行就没价值 
    umask -S(很多unix系统中没有umask -S选项)  可用umask查看默认的文件权限掩码值,也可用它改变但不建议改变  改变系统缺省的创建文件的权限:umask 权限掩码值  例:umask 027(目录默认权限变为750,文件为640)


    文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入。
    例一:设要生成的文件以rw- r-- r--这样的权限字出现,即真实权限用八进制表示为644,则被666基数减得022,022即掩码。使用umask 022。
    注:033效果与022一样,假设使用033掩码进??行设置,则真实权限应为633即rw- rx rx ,但前提规定文件不生成x位,所以文件的权限最终将以rw-r--r --出现。


    目录:用八进制基数777
    例二:设要生成的目录权限以rwxr-xr-x这样的权限字出现,即真实权限用八进制表示为755,则被基数为777的权限字相减后,得掩码022。则使用umask 022进行设置。
3 总结 
    掌握二个要点
    1.文件基数为666,目录为777,即文件无设x位,目录可设x位。
    2.chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限,即chmod指令是“给于”使用或者是将要改变的许可权限,而umask 则是“取消”使用许可权限。
****************************************************************************************
    原文地址: http://blog.csdn.net/jesseyoung/article/details/42525341
    博客主页: http://blog.csdn.net/jesseyoung
****************************************************************************************

猜你喜欢

转载自blog.csdn.net/JesseYoung/article/details/42525341