Linux 默认创建文件的权限是 666(-rw-rw-rw-) ,创建目录权限是 777( drwxrwxrwx) ,但是这个权限不是我们帐号创建文件或目录的最终权限,还需要参考帐户的 umask 值。
默认情况下,一般帐号的 umask 值是 002,如下图
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
root 帐号的 umask 值是 022
如何得到帐号创建的文件或目录的权限呢,有的网站上说直接用系统默认的文件权限(目录权限)减去帐号的 umask 值就可以了。其实这是错误的。
例如,如果 umask 值为 033 ,则 root 帐号创建的文件的权限为 633 ,而实际上并不是。
1 )设置 umask 的值为 033 ,并查看 umask 的值
#umask 033
#umask

 

2 )创建文件 hello
#touch hello
#ls –l hello
可以看到 hello 文件的权限并不是 633 ,而是 644.
3 umask 的正确理解应该是系统默认的权限屏蔽掉 umask 值的权限就是文件或目录的最终权限,如下图
如上图,如果 umask 的值为 033 ,则表示屏蔽掉组的写和执行的权限,屏蔽掉其他用户的写和执行的权限,结果为 644 ,即 rw-r—r—
4 )根据以上的结论可以得出,在 root 帐号下默认创建的文件的权限为 644 ,创建目录的权限为 755. 下面分别创建一个文件和目录并查看它的权限

 

如上图 work 的权限为 drwxr-xr-x(755)helloworld 的权限为 -rw-r- - r- (644)

(5.) 如果是普通帐号的话,创建的文件权限为 664 ,创建目录的权限为 775 ,如下图:
#su  zhiming

 

(6)umask 的作用,可以通过设置它的值来设置用户创建文件时的权限。