#include "sys/types.h"
#include "sys/stat.h"
mode_t umask(mode_t cmask);
umask函数为进程设置文件方式创建屏蔽字。
unix中文件最大访问权限是0777, 即_rwxrwxrwx.
如果讲umask函数设置为0111,
那么用0777与0111(umask设置值)取异或操作得0666,即_rw_rw_rw.
当进程使用open或creat创建新文件时, 存取权限就是指定存取权限同0666的位与结果。
譬如下列代码:
umask(0111);
creat("newfile", 0777);
得到的newfile的存取权限仍然是0666,即0777&0666=0666,
这就是umask的作用, 有点子网掩码的味道。
阅读(1102) | 评论(0) | 转发(0) |