对于文件和目录创建之后的file mode权限,按照如下方法计算:
文件创建权限:
PERM_MAX_FILE & (mode)
目录创建权限:
PERM_MAX_DIR & (mode)
其中这个mode就是,在使用open() 或者 creat() 函数创建文件的时候的第三个参数。
PERM_MAX_FILE = 0666 & ~(umask)
PERM_MAX_DIR = 0777 & ~(umask)
例子:
umask 0022
PERM_MAX_FILE = 0644
PERM_MAX_DIR = 0755
所以在创建文件的时候,你指定的权限不能超过MAX。
为了程序的可移植性和可读性,最好在程序中使用文件访问模式的宏。
阅读(1040) | 评论(0) | 转发(0) |