码迷,mamicode.com
首页 > 其他好文 > 详细

umask 文件默认权限

时间:2018-03-19 14:58:44      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:建立   user   属性   创建   body   用户   情况下   应该   参考   

参考资料 http://book.51cto.com/art/200709/57189.htm

umask就是指定当前用户在建立文件或目录时候的属性默认值。

linux-xdYUnA:~ # umask
0027
linux-xdYUnA:~ # umask -S
u=rwx,g=rx,o=
linux-xdYUnA:~ # touch abc
linux-xdYUnA:~ # ll abc
-rw-r----- 1 root root 0 Mar 19 14:27 abc
linux-xdYUnA:~ # umask 0022
linux-xdYUnA:~ # umask
0022
linux-xdYUnA:~ # umask -S
u=rwx,g=rx,o=rx
linux-xdYUnA:~ # touch abcd
linux-xdYUnA:~ # ll abcd
-rw-r--r-- 1 root root 0 Mar 19 14:28 abcd

在默认权限的属性上,目录与文件是不一样的。由于我们不希望文件具有可执行的权力,默认情况中,文件是没有可执行(x)权限的。因此:
? 若用户建立为”文件”则默认“没有可执行(x)项目”,即只有rw这两个项目,也就是最大为666分,默认属性如下:
-rw-rw-rw-
? 若用户建立为”目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为777分,默认属性如下:
drwxrwxrwx

umask指定的是“该默认值需要减掉的权限”。因为r、w、x分别是4、2、1,所以。也就是说,当要去掉能写的权限,就是输入2,而如果要去掉能读的权限,也就是4,那么要去掉读与写的权限,也就是6,而要去掉执行与写入的权限,也就是3。

因为umask为022,所以user并没有被去掉属性,不过group与others的属性被去掉了2(也就是w这个属性),那么当用户:
? 建立文件时:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r-- 
? 建立目录时:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的。

默认情况,包括 touch一个文件,echo一个文件等创建的文件。

umask 文件默认权限

标签:建立   user   属性   创建   body   用户   情况下   应该   参考   

原文地址:https://www.cnblogs.com/xingmuxin/p/8601825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!