关于Linux中umask的一些理解

刚接触Linux的时候,有点搞不懂Linux中的umask是干什么的。现在,做一个总结。

umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod755file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)。

但是有的人会问那为什么他的默认值是022呢?这个权限也太小了吧。呵呵,其实啊,umask指定的是『该默认值需要减掉的权限!』因为r、w、x分别是4、2、1分,所以啰!也就是说,当要拿掉能写的权限,就是输入2分,而如果要拿掉能读的权限,也就是4分,那么要拿掉读与写的权限,也就是6分,而要拿掉执行与写入的权限,也就是3分,这样了解吗?请问您,5分是什么?呵呵!就是读与执行的权限啦!如果以上面的例子来说明的话,因为umask为002,所以user,group并没有被拿掉属性,不过others的属性被拿掉了2(也就是w这个属性)。

那么如何改变umask的值呢?指令umask003便把他的值变成了003,就好了。至于更详细的,可以man一下~

相关推荐