注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

旷世的忧伤

不与夏虫语寒,不与曲人语道,因为生命缺乏言说的条件......

 
 
 

日志

 
 

umask函数  

2015-04-20 09:57:43|  分类: Unix环境编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
umask函数为进程设置文件模式创建屏蔽字,并返回以前的值。即其作用是在创建文件时设置或者屏蔽掉文件的一些权限。函数原型为:

#include <sys/types.h>
#include <sys/stat.h>

mode_t umask(mode_t mask);


在创建一个文件时要指明该文件的权限,open函数的最后一个参数mode并不是要设置的权限,还要去除掉 umask 对某些权限的屏蔽。其创建的真正权限可以用如下方式计算:
mode & (~cmask)

例:

#include "apue.h"
#include <fcntl.h>
 
#define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
 
int main(void)
{
         umask(0);
         if (creat("foo", RWRWRW) < 0)
            err_sys("create error for foo");
         umask(S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
         if (creat("bar", RWRWRW) < 0)
             err_sys("creat error for bar");
         return 0;
}

  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018