Linux——umask使用详解

 什么是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

Linux——umask使用详解_第1张图片

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

只要使用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


你可能感兴趣的:(Linux)