刚看完鸟哥关于umask的讲述,迫不及待要记下来,原因就是怕自己不小心会忘记。
而且自己总是很不小心 。呵呵。
在自己的系统下面(OpenSuSe 11.0)试了一下,自己的和ROOT账号的umask都是0022,这与其讲的有冲突,
不过每个系统环境都不一样嘛。呵呵。
umask的作用是显示当前用户创建文件及目录所赋予该文件或目录默认的访问权限的。
0022,鸟哥先把第一个数抛开了,因为我们大家都知道,用户权限一共分为三类。
自己(即用户本身),用户组(即自己人),其他人(即外人)
但是这里有四个数字,看起来真的很不理解,鸟哥先放下了,我没有看到那里,所以也先放下了,等我看到后我会在这篇的评论里面给出解释的。
先不急着说0022是什么意思,我们先来做这样一个命令。
umask -S
这里的S是什么意思呢?就是:symbolic 逻辑,符号持意思。
显示结果为:u=rwx,g=rx,o=rx
这里我们很好理解,即自己的权限为7,自己人为5,外人也为5
但是那个0022???呵呵,别急,这就来。
原来,默认权限的属性上面,文件和目录是有区别的
由于 我们不希望文件具有可执行的权限,所以,默认情况下,文件是没有可执行的权限的,即:
文件创建的最大权限是 -rw-rw-rw- 666
而目录创建的最大权限是 drwxrwxrwx 777
而umask显示的就是用户在这最大权限中减去的权限,
所以,看后三个数字,022,翻译过来也就是“在自己的时候是什么都不去掉的,自己人去掉的是写权限,别人也去掉写权限“
怎么更改这个默认权限呢?
so easy: umask 002 这样就可以将其改为 文件:-rw-rw-r-- 目录:drwxrwxr-x
这里需要记住这么一件事,就是这不是一个单纯的减法运算,而是AND与NOT的运算,
不信?那好,看一下,umask 003 新建立的文件和目录的访问权限都是多少吧。自己去体验吧。