Chinaunix

标题: umask 的简单理解 [打印本页]

作者: binary_XY.Z    时间: 2009-12-27 17:31
标题: umask 的简单理解
1. umask的中文意思是用户权限“掩码”, 掩码中相应的位被设置了, 它所对应的权限就会被“禁止/拒绝”
2. 更改进程的umask值并不影响其父进程(通过是shell)的umask值
3. linux下默认, 创建文件的权限是666(rw-rw-rw), 创建目录的权限是777(rwxrwxrwx), 但是, 实际上open/creat调用中的标志是设置文件访问权限的请求, 所请求的权限是否被设置取决于当时的umask值, 如何取决, 见4
4. open/creat调用里给出的模式值与umask的“位反”做”位与“操作, 即得到创建文件的权限
网上一些说法的误解:
umask值为022, 则创建文件的权限为644,  所以umask值为033, 则创建文件的权限为633,  实际上为644


umask 022 不仅仅可以这样用, 也可以直观的umask u=rw,g=rw,o= 使用来设置umask, 这时的umask值为117
umask -S 打印符号形式的umask值(即允许设置的权限位)

umask也有系统调用, 可以在进程里面设置当前进程在创建文件时使用的umask值



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86696/showart_2132171.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2