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

Linux——umask使用详解

2016-08-28 13:24 337 查看
 什么是umask?

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。

   
这里要说明两点:

  1、针对目录来说x权限代表可以进入该目录,所以说对于这个权限初始赋值是没什么问题的;

  2、针对文件的x的权限代表执行,这个风险太高,所以一般权限初始赋值必须去掉x的;

怎么查看文件/目录的权限呢?



运行的结果表示什么呢?
 ------------------------------>   下面再说!

如何计算umask值呢?

umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来
说,umask中各个数字最大可以到7。

该命令的一般形式为:

  umask nnn

  其中nnn为umask置000-777。

计算:对上面运行结果进行分析,

第一个0代表suid 丢弃的权限;

第二个0代表本文件/目录拥有者什么权限都没丢弃(如果是文件,x权限除外);

第三个2代表本文件/目录的用户组丢弃了w权限(如果是文件那么它的x权限也丢弃);

第四个2代表本文件/目录的其他用户能使用的权限只有有r和x(文件只丢弃x)。

综合上面   , 如果你新创建一个文件,那么它的权限是:-rw--r--r-- 即是:644 ;

         如果你新创建一个目录,那么它的权限是:drwxr-xr-x 即是:755



那么,问题来了:怎么修改权限值?

只要使用umask命令设置一个新的值即可:

  输入:umask 002

查看是否修改成功,就可以输入 umask
直接查看

在使用umask命令之前一定要弄清楚到底希望具有什么样的文件/目录创建缺省权限。否则可能会得到一些非常奇怪的结果;例如,如果将umask值设置为6 0 0,那么所创建的文件/目

  录的缺省权限就是0 6 6!

参考:
http://www.jb51.net/LINUXjishu/94383.html http://blog.csdn.net/lmh12506/article/details/7281910
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: