您的位置:首页 > 其它

umask 的使用体会

2012-01-17 23:08 99 查看
Linux默认创建文件的权限是666(-rw-rw-rw-),创建目录权限是777(即drwxrwxrwx),但是这个权限不是我们帐号创建文件或目录的最终权限,还需要参考帐户的umask值。

默认情况下,一般帐号的umask值是002,如下图



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的作用,可以通过设置它的值来设置用户创建文件时的权限。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: