日期:2014-05-16  浏览次数:20630 次

关于Linux中umask的一些理解
    刚接触Linux的时候,有点搞不懂Linux中的umask是干什么的。现在,做一个总结。
    umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)。
    但是有的人会问那为什么他的默认值是022呢?这个权限也太小了吧。呵呵,其实啊,umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!如果以上面的例子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这个属性 )。
    那么如何改变umask的值呢?指令umask 003便把他的值变成了003,就好了。至于更详细的,可以man一下~