Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116925
  • 博文数量: 29
  • 博客积分: 1215
  • 博客等级: 中尉
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-05 16:29
文章分类
文章存档

2010年(29)

我的朋友

分类: C/C++

2010-12-24 13:51:31

程序清单:

#include <stdio.h> //for printf,perror

#include <stdlib.h> //for exit

#include <sys/stat.h> //for umask


/*注意:宏定义只能写在一行!!!*/
#define RWRWRW (S_IRUSR | S_IWUSR | S_IRGRP |S_IWGRP | S_IROTH | S_IWOTH)

int main(void)
{
     /*创建第一个文件时,umask值为0,即为屏蔽任何权限位*/
    umask(0);
    if(creat("test1",RWRWRW) < 0)
    {
        perror("creat test1 error");
        exit(1);    
    }
    
    /*创建第二个文件时,umask禁止所有组和其他用户的访问权限*/
    umask(S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
    if(creat("test2",RWRWRW) < 0)
    {
        perror("creat test2 error");
        exit(1);    
    }
    exit(0);    
}

编译运行:
obe-240 test/linuxc> umask
22
obe-240 test/linuxc> ./umask
obe-240 test/linuxc> ls -l test1 test2
-rw-rw-rw- 1 eagle hitv 0 2010-12-24 13:34 test1
-rw------- 1 eagle hitv 0 2010-12-24 13:34 test2
obe-240 test/linuxc> umask
22
阅读(1683) | 评论(0) | 转发(0) |
0

上一篇:umask用法

下一篇:终止处理程序实例

给主人留下些什么吧!~~